NEWS
Rauchmelder Skript
-
@Feuersturm Ah hatte Deine Datenpunkte nicht gesehen. Stimmt das passt so nicht zusammen und müsste entsprechend angepasst werden.
-
Ich habe mal etwas gesucht, weil ich das nun auch mal umsetzen möchte. Zu den HMIP Rauchmeldern habe ich folgende Info gefunden.
SMOKE_DETECTOR_ALARM_STATUS
Die Zustände sind wie folgt:
0 = Kein Alarm steht an
1 = Brandalarm an diesem Melder erkannt
2 = Der Melder signalisiert einen Einbruchalarm
3 = Ein anderer Melder hat einen Brandalarm erkannt, dieser wurde auch an diesem Melder signalisiertDas ist dieser DP
{ "type": "state", "common": { "def": "IDLE_OFF", "type": "number", "read": true, "write": false, "min": 0, "max": 3, "states": { "0": "IDLE_OFF", "1": "PRIMARY_ALARM", "2": "INTRUSION_ALARM", "3": "SECONDARY_ALARM" }, "name": "Rauchmelder Wohnzimmer.SMOKE_DETECTOR_ALARM_STATUS" }, "native": { "MIN": "IDLE_OFF", "OPERATIONS": 5, "MAX": "SECONDARY_ALARM", "FLAGS": 1, "ID": "SMOKE_DETECTOR_ALARM_STATUS", "TYPE": "ENUM", "DEFAULT": "IDLE_OFF", "VALUE_LIST": [ "IDLE_OFF", "PRIMARY_ALARM", "INTRUSION_ALARM", "SECONDARY_ALARM" ], "CONTROL": "DANGER.STATE" }, "from": "system.adapter.hm-rpc.0", "user": "system.user.admin", "ts": 1581756986839, "_id": "hm-rpc.0.xxx.1.SMOKE_DETECTOR_ALARM_STATUS", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" } }
Müßte sich dann auch umsetzen lassen ( ich mach das dann mal per Blockly für mich)
-
@dslraser
Dieser $Selector sollte genügen:const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
-
@paul53
ich wollte gerade anfangenMeine 6 Melder werden auch gefunden
17.2.2020, 22:25:12.450 [info ]: javascript.0 (4842) Stop script script.js.Rauchmelder.Rauchmelder_Auslöser 17.2.2020, 22:25:12.538 [info ]: javascript.0 (4842) Start javascript script.js.Rauchmelder.Rauchmelder_Auslöser 17.2.2020, 22:25:12.545 [info ]: javascript.0 (4842) script.js.Rauchmelder.Rauchmelder_Auslöser: registered 6 subscriptions and 0 schedules
-
@paul53 sagte in Rauchmelder Skript:
@dslraser
Dieser $Selector sollte genügen:const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS');
ich mußte var statt const schreiben, sonst kamen Fehler.
Script Start aus dem ersten Beitrag mit dem HMIP Selector
17.2.2020, 22:32:19.153 [info ]: javascript.0 (4842) Stop script script.js.Rauchmelder.Skript_1 17.2.2020, 22:32:19.238 [info ]: javascript.0 (4842) Start javascript script.js.Rauchmelder.Skript_1 17.2.2020, 22:32:19.340 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Function Rauch erkannt wird gestartet. 17.2.2020, 22:32:19.341 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 0 Name: Rauchmelder Keller Flur_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr 17.2.2020, 22:32:19.341 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 1 Name: Rauchmelder Flur_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr 17.2.2020, 22:32:19.342 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 2 Name: Rauchmelder Wohnzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 17.02.20 21:45:20 Uhr 17.2.2020, 22:32:19.342 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 3 Name: Rauchmelder Gästezimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr 17.2.2020, 22:32:19.343 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 4 Name: Rauchmelder Keller Wohnzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr 17.2.2020, 22:32:19.344 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: [DEBUG] Geräte Nr. 5 Name: Rauchmelder Schlafzimmer_Dev (xxx) --- HmIP-SWSD --- Typ: SMOKE_DETECTOR_ALARM_STATUS --- Status: 0 kein Rauch --- seit: 11.12.19 13:34:06 Uhr 17.2.2020, 22:32:19.344 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: 6 Geräte mit dem Datenpunkt Rauch erkannt werden überwacht. 17.2.2020, 22:32:19.344 [info ]: javascript.0 (4842) script.js.Rauchmelder.Skript_1: registered 6 subscriptions and 0 schedules
Beim Wohnzimmer habe ich vorhin in den Datenpunkten "gespielt", deshalb heute "Rauch erkannt"
-
-
avascript.0 2020-02-17 22:54:21.348 error (4842) at process._tickCallback (internal/process/next_tick.js:68:7) javascript.0 2020-02-17 22:54:21.348 error (4842) at promise.then (/opt/iobroker/node_modules/standard-as-callback/built/index.js:19:49) javascript.0 2020-02-17 22:54:21.348 error (4842) at tryCatcher (/opt/iobroker/node_modules/standard-as-callback/built/utils.js:11:23) javascript.0 2020-02-17 22:54:21.348 error (4842) at client.get (/opt/iobroker/node_modules/iobroker.js-controller/lib/states/statesInRedis.js:580:17) javascript.0 2020-02-17 22:54:21.348 error (4842) at adapter.getForeignState (/opt/iobroker/node_modules/iobroker.javascript/main.js:1055:17) javascript.0 2020-02-17 22:54:21.348 error (4842) at createProblemObject (/opt/iobroker/node_modules/iobroker.javascript/main.js:1464:17) javascript.0 2020-02-17 22:54:21.348 error (4842) at prepareScript (/opt/iobroker/node_modules/iobroker.javascript/main.js:1411:37) javascript.0 2020-02-17 22:54:21.347 error (4842) at compile (/opt/iobroker/node_modules/iobroker.javascript/main.js:1188:28) javascript.0 2020-02-17 22:54:21.347 error (4842) at Object.createScript (vm.js:277:10) javascript.0 2020-02-17 22:54:21.347 error (4842) at new Script (vm.js:83:7) javascript.0 2020-02-17 22:54:21.347 error (4842) SyntaxError: Identifier 'cacheSelectorSmoke' has already been declared javascript.0 2020-02-17 22:54:21.347 error (4842) ^ javascript.0 2020-02-17 22:54:21.347 error (4842) const cacheSelectorSmoke = $('*.SMOKE_DETECTOR_ALARM_STATUS'); javascript.0 2020-02-17 22:54:21.347 error at script.js.Rauchmelder.Skript_1:38 javascript.0 2020-02-17 22:54:21.347 error (4842) script.js.Rauchmelder.Skript_1 compile failed:
Script Engine 4.4.2
-
@dslraser sagte:
SyntaxError: Identifier 'cacheSelectorSmoke' has already been declared
Eine Konstante kann nur einmal deklariert werden. Wo erfolgt die erste Deklaration ?
-
@paul53
Ich habe nur das komplette Script aus dem ersten Beitrag genommen und den zweiten Selector eingefügt.Edit: muss der "zweite" Selector anders heißen, wenn man den ersten drinn läßt ?
-
@dslraser sagte:
und den zweiten Selector eingefügt.
Mit gleichem Bezeichner cacheSelectorSmoke eingefügt, nicht ersetzt ? Dann ist die Fehlermeldung logisch.
-
@paul53 sagte in Rauchmelder Skript:
Mit gleichem Bezeichner cacheSelectorSmoke eingefügt, nicht ersetzt ? Dann ist die Fehlermeldung logisch.
ja, habe ich. Ich lerne ja noch...
Ich hatte es einen Beitrag über Deinem als Edit eingefügt.
Und ist ein var quasi auch ein const ? -
@dslraser sagte:
muss der "zweite" Selector anders heißen, wenn man den ersten drinn läßt ?
Als Variablendeklaration wird der erste Wert überschrieben.
-
@dslraser sagte:
Und ist ein var quasi auch ein const ?
Der Wert einer Variablen (var, let) kann überschrieben werden, der Wert einer Konstanten (const) nicht.
-
@feuersturm sagte in Rauchmelder Skript:
@Dominik-F Setzt du die Homematic IP Rauchmelder HMIP-SWSD ein? Ich hätte Interesse an deinem Skript. Könntest du in deinem ersten Beitrag die aktuelle Version deines Skriptes einstellen bzw. bei neuen Erkenntnissen das Skript dort aktualisieren?
Guten Morgen,
ich habe bei uns hier auch 3 HM-IP Rauchmelder installiert und wollte die Tage mal die Integration in den ioBroker angehen um dann bei Alarm reagieren zu könnnen (Push-Nachricht, Beschattung auf, Licht an, ...).
Hast du deine mitterweile eingebunden?
Hier ein Export der Objekte eines der HM-Rauchmelder:
Das Skript oben müsste man anpassen, das triggert ja auf STATE und nicht auf den DP von HM-IP Rauchmelder.
-
-
@dominik-f sagte in Rauchmelder Skript:
Ich habe immer noch keine Rauchmelder von HM IP.
@dslraser wollte das Skript in Blockly umschreiben für sich und für HM und HM IP. Eventuell ist das bisher geschehen? Vielleicht stellt er uns sein Skript ja hier zur Verfügung.
Ich habe durch diesen Post gerade festgestellt, das ich für alles Mögliche Listen mit Telegram/E-Mail Funktion habe (Telegram und E-Mail sind an/abschaltbar), aber meine Rauchmelder komplett vergessen habe....
Ich habe übrigens nur HMIP Rauchmelder.
-
Ach schade. Ich freunde mich gerade mit Blockly an und überlegt, wie ich mein Rauchmelderskript in Blockly umschreiben kann und bin da auf meinen alten Thread gestoßen. Da in 2-3 Jahren meine Rauchmelder ausgetauscht werden müssen und ich mir offen halten möchte ob ich nicht zu hm ip wechsel hatte ich gehofft das du da schon was bei dir erstellt hast, eventuell sogar für hm und hm ip
-
damit geht es doch (bzw. mit dem Selector einen Post weiter unten)
https://forum.iobroker.net/post/379455
damit kannst Du doch arbeiten.
Edit: ich werde mir erstmal aliase erstellen und dann sehen wir weiter…
-
Das Problem ist, ich werds nicht testen können. Ich versuche es dann erst mal das Blockly nur mit den HM Geräten umzusetzen.
-
@dominik-f sagte: eventuell sogar für hm und hm ip
Du verwendest doch die Aufzählung "functions". Dann erfasst folgender Selektor alle Rauchmelder, wenn die Aufzählung "rauchmelder" zugeordnet wird: