NEWS
LUPUSEC Alarmanlage einbinden
-
Ich habe das Skript einmal so angepaßt, dass beim Statuswechsel eine Meldung ausgegeben wird. Das funktioniert wunderbar. Vielleicht liegt es an den Skripten die Du aus Blocky aufrufst.
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="!qUvr]:?GN0pr/?0v/@{" x="-2587" y="-562"><field name="OID">lupusec.0.status.mode_pc_a2</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id="%V-Ety+x{~;wN~zj_%1="><value name="IF0"><block type="logic_compare" id="|=4lcSp8%lHSaPS|9p!)"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Cm|39t%-)p#IHuylE@n."><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="MACpEjq5{?i-!Iu;]aw,"><field name="TEXT">0</field></block></value></block></value> <statement name="DO0"><block type="debug" id="Isz3SGwFnV7Yo#D#5yXY"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="{7Y]-uLaP0(EvD._t/0-"><field name="TEXT">Disarm</field></shadow></value></block></statement> <next><block type="controls_if" id="2Ynf(_,8B04ers{z`V2u"><value name="IF0"><block type="logic_compare" id="oPVf%dZ{z^Cs*BP})~B="><field name="OP">EQ</field> <value name="A"><block type="get_value" id="oBsd{n,rNzIe:z31lDyT"><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="zL0)7_8lmthPs#Y_S=w0"><field name="TEXT">1</field></block></value></block></value> <statement name="DO0"><block type="debug" id="s-aX)CWpeTBVs([@Qs~_"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="It82xa++ur;i/z*De_UC"><field name="TEXT">Arm</field></shadow></value></block></statement> <next><block type="controls_if" id="dkwTBE1!pKEt}VcU!)9%"><value name="IF0"><block type="logic_compare" id="@;)|#*}.kX%Dr?SA*w/?"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="y-F*Xi!OqK~_cn3%+.6e"><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="-D?Pnif@xytwIc@)?k[m"><field name="TEXT">2</field></block></value></block></value> <statement name="DO0"><block type="debug" id="(Ho=tRP0=h@P_{DjXuU9"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="Bt@[yD.t2wzz-18,cCH%"><field name="TEXT">Home</field></shadow></value></block></statement></block></next></block></next></block></statement></block></xml>
! ````
-
@tstueben:Ich habe das Skript einmal so angepaßt, dass beim Statuswechsel eine Meldung ausgegeben wird. Das funktioniert wunderbar. Vielleicht liegt es an den Skripten die Du aus Blocky aufrufst.
Bildschirmfoto 2018-11-03 um 13.31.41.png
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="!qUvr]:?GN0pr/?0v/@{" x="-2587" y="-562"><field name="OID">lupusec.0.status.mode_pc_a2</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id="%V-Ety+x{~;wN~zj_%1="><value name="IF0"><block type="logic_compare" id="|=4lcSp8%lHSaPS|9p!)"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Cm|39t%-)p#IHuylE@n."><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="MACpEjq5{?i-!Iu;]aw,"><field name="TEXT">0</field></block></value></block></value> <statement name="DO0"><block type="debug" id="Isz3SGwFnV7Yo#D#5yXY"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="{7Y]-uLaP0(EvD._t/0-"><field name="TEXT">Disarm</field></shadow></value></block></statement> <next><block type="controls_if" id="2Ynf(_,8B04ers{z`V2u"><value name="IF0"><block type="logic_compare" id="oPVf%dZ{z^Cs*BP})~B="><field name="OP">EQ</field> <value name="A"><block type="get_value" id="oBsd{n,rNzIe:z31lDyT"><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="zL0)7_8lmthPs#Y_S=w0"><field name="TEXT">1</field></block></value></block></value> <statement name="DO0"><block type="debug" id="s-aX)CWpeTBVs([@Qs~_"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="It82xa++ur;i/z*De_UC"><field name="TEXT">Arm</field></shadow></value></block></statement> <next><block type="controls_if" id="dkwTBE1!pKEt}VcU!)9%"><value name="IF0"><block type="logic_compare" id="@;)|#*}.kX%Dr?SA*w/?"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="y-F*Xi!OqK~_cn3%+.6e"><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="-D?Pnif@xytwIc@)?k[m"><field name="TEXT">2</field></block></value></block></value> <statement name="DO0"><block type="debug" id="(Ho=tRP0=h@P_{DjXuU9"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="Bt@[yD.t2wzz-18,cCH%"><field name="TEXT">Home</field></shadow></value></block></statement></block></next></block></next></block></statement></block></xml>
! ```` `
on({id: "lupusec.0.status.mode_pc_a2"/*Status Alarmanlage Modus Area 2*/, change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; if (getState("lupusec.0.status.mode_pc_a2").val == '0') { console.log('Disarm'); } if (getState("lupusec.0.status.mode_pc_a2").val == '1') { console.log('Arm'); } if (getState("lupusec.0.status.mode_pc_a2").val == '2') { console.log('Home'); } });
-
Danke, probiere ich aus.
Komischerweise funktionieren beide Skripte seit gestern Abend.
Habe das Skript 2 gelöscht und noch einmal neu erstellt und beide Skripte in Area1 und Area2 umbenannt.
Jetzt laufen beide ohne Probleme.
-
-
Funktioniert bestens. Danke!
@tstueben:Ich habe das Skript einmal so angepaßt, dass beim Statuswechsel eine Meldung ausgegeben wird. Das funktioniert wunderbar. Vielleicht liegt es an den Skripten die Du aus Blocky aufrufst.
Bildschirmfoto 2018-11-03 um 13.31.41.png
! ````
<xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="!qUvr]:?GN0pr/?0v/@{" x="-2587" y="-562"><field name="OID">lupusec.0.status.mode_pc_a2</field>
<field name="CONDITION">ne</field><statement name="STATEMENT"><block type="controls_if" id="%V-Ety+x{~;wN~zj_%1="><value name="IF0"><block type="logic_compare" id="|=4lcSp8%lHSaPS|9p!)"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="Cm|39t%-)p#IHuylE@n."><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="MACpEjq5{?i-!Iu;]aw,"><field name="TEXT">0</field></block></value></block></value> <statement name="DO0"><block type="debug" id="Isz3SGwFnV7Yo#D#5yXY"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="{7Y]-uLaP0(EvD._t/0-"><field name="TEXT">Disarm</field></shadow></value></block></statement> <next><block type="controls_if" id="2Ynf(_,8B04ers{z`V2u"><value name="IF0"><block type="logic_compare" id="oPVf%dZ{z^Cs*BP})~B="><field name="OP">EQ</field> <value name="A"><block type="get_value" id="oBsd{n,rNzIe:z31lDyT"><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="zL0)7_8lmthPs#Y_S=w0"><field name="TEXT">1</field></block></value></block></value> <statement name="DO0"><block type="debug" id="s-aX)CWpeTBVs([@Qs~_"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="It82xa++ur;i/z*De_UC"><field name="TEXT">Arm</field></shadow></value></block></statement> <next><block type="controls_if" id="dkwTBE1!pKEt}VcU!)9%"><value name="IF0"><block type="logic_compare" id="@;)|#*}.kX%Dr?SA*w/?"><field name="OP">EQ</field> <value name="A"><block type="get_value" id="y-F*Xi!OqK~_cn3%+.6e"><field name="ATTR">val</field> <field name="OID">lupusec.0.status.mode_pc_a2</field></block></value> <value name="B"><block type="text" id="-D?Pnif@xytwIc@)?k[m"><field name="TEXT">2</field></block></value></block></value> <statement name="DO0"><block type="debug" id="(Ho=tRP0=h@P_{DjXuU9"><field name="Severity">log</field> <value name="TEXT"><shadow type="text" id="Bt@[yD.t2wzz-18,cCH%"><field name="TEXT">Home</field></shadow></value></block></statement></block></next></block></next></block></statement></block></xml>
! ```` `
-
Habe noch eine Frage.
Ich möchte bei Alarm den Status angezeigt bekommen.
Im Moment frage ich dafür den Status der Außensirene ab.
In der iPhone-App wird direkt der Bereich angezeigt, wo eingebrochen wurde.
Ändert sich bei Einbruch der Status der Areas? Wenn ja, wie?
Da wir keine verständnisvollen Nachbarn haben, kann ich es schlecht selber ausprobieren.
https://www.bilder-upload.eu/bild-195924-1541333102.jpg.html
-
Habe noch eine Frage.
Ich möchte bei Alarm den Status angezeigt bekommen.
Im Moment frage ich dafür den Status der Außensirene ab.
In der iPhone-App wird direkt der Bereich angezeigt, wo eingebrochen wurde.
Ändert sich bei Einbruch der Status der Areas? Wenn ja, wie?
Da wir keine verständnisvollen Nachbarn haben, kann ich es schlecht selber ausprobieren.
https://www.bilder-upload.eu/bild-195924-1541333102.jpg.html ` ~~ja, der Status von alaram_status und alarm_status_ex ändert sich bei den auslösenden Sensoren wie folgt:
alarm_status == BURGLAR
alarm_status_ex == true
Der Status in mode_pc_a1 und mode_pc_a1 ändert sich nicht!
~~
-
Ich habe in der Version 0.3.6 noch ein Status alarm_ex unter lupusec.X.status aufgenommen. Der Wert kann 0 (kein Alarm), 1 (Alarm ausgelöst in Area 1) und 2 (Alarm ausgelöst in Area 2) annehmen. Wenn der Status alarm_ex 1 oder 2 ist, kannst Du z.B. prüfen wie die Werte status und alarm_status unter den Devices aussehen und ausgeben.
Die Version 0.3.6 steht unter Latest ab morgen zur Verfügung oder Du kannst diese unter Adapter mit folgendem Link laden: https://github.com/schmupu/ioBroker.lupusec
-
Morgen, fslls du die latest Version nutzt oder heute über den GitHub Link oben. Wenn du die Stable Version nutzt, dann dauert es noch ein wenig länger.
Gesendet von iPhone mit Tapatalk
-
Wollte gerade ein Skript erstellen zum Auslesen des Wertes alarm_ex.
Leider wird mir bei der Auswahl ein leeres Feld angezeigt.
Unter Objekte/lupusec.0/status/alarm_ex/ steht jedoch der Wert Kein Alarm(0)
Kann ich mir den Status 0,1 oder 2 auch ohne Skript direkt ausgeben lassen, also dass dann Kein Alarm oder Alarm Area 1 oder Alarm Area 2 steht?
@tstueben:Ich habe in der Version 0.3.6 noch ein Status alarm_ex unter lupusec.X.status aufgenommen. Der Wert kann 0 (kein Alarm), 1 (Alarm ausgelöst in Area 1) und 2 (Alarm ausgelöst in Area 2) annehmen. Wenn der Status alarm_ex 1 oder 2 ist, kannst Du z.B. prüfen wie die Werte status und alarm_status unter den Devices aussehen und ausgeben.
Die Version 0.3.6 steht unter Latest ab morgen zur Verfügung oder Du kannst diese unter Adapter mit folgendem Link laden: https://github.com/schmupu/ioBroker.lupusec `
-
Wollte gerade ein Skript erstellen zum Auslesen des Wertes alarm_ex.
Leider wird mir bei der Auswahl ein leeres Feld angezeigt.
Bildschirmfoto 2018-11-04 um 18.36.17.png
Unter Objekte/lupusec.0/status/alarm_ex/ steht jedoch der Wert Kein Alarm(0)
@tstueben:Ich habe in der Version 0.3.6 noch ein Status alarm_ex unter lupusec.X.status aufgenommen. Der Wert kann 0 (kein Alarm), 1 (Alarm ausgelöst in Area 1) und 2 (Alarm ausgelöst in Area 2) annehmen. Wenn der Status alarm_ex 1 oder 2 ist, kannst Du z.B. prüfen wie die Werte status und alarm_status unter den Devices aussehen und ausgeben.
Die Version 0.3.6 steht unter Latest ab morgen zur Verfügung oder Du kannst diese unter Adapter mit folgendem Link laden: https://github.com/schmupu/ioBroker.lupusec
Hast du die Lupusec Instanz einmal neu gestartet? Unter Umständen einmal Instanz anhalten, dann Objekt alarm_ex nochmals löschen und Instanz nochmals starten. Geht es jetzt?
-
ja jetzt geht es
Kann ich mir eigentlich irgendwie den Status 0,1 oder 2 auch ohne Skript direkt ausgeben lassen,
also dass dann Kein Alarm oder Alarm Area 1 oder Alarm Area 2 steht?
-
ja jetzt geht es `
klasse! Und Du kannst das auch testen ohne Deinen Nachbarn zu nerven. In der Lupusec Alarmanlage unter Sensoren -> Sirene, die interne und externe Sirene ausstellen.
-
Getestet und es läuft perfekt.
Jetzt würde ich mir gerne noch den Melder anzeigen lassen, welcher ausgelöst hat.
Da bin ich aber mit meinen Programmierkenntnissen bereits am Ende.
Kannst du mir das irgendwie erklären?
-
Getestet und es läuft perfekt.
Jetzt würde ich mir gerne noch den Melder anzeigen lassen, welcher ausgelöst hat.
Da bin ich aber mit meinen Programmierkenntnissen bereits am Ende.
Kannst du mir das irgendwie erklären? `
Vielleicht hilft Dir das ein wenig weiter. Mit dem kleinen Skript wird im Logfile der Status der Türsensoren und Bewegungsmelder ausgeben. Das geschieht einmalig beim Start des Skripts und dann immer wenn sich der Wert im Objekt alarm_ex ändert.
function showLupusecStatus() { $('[state.id=lupusec.0.devices.RF:*][state.id=.name]').each(function (id, i) { sensorId = id.split(".").slice(0,-1).join(".") + '.'; var type = getState(sensorId+'type').val; if (type == 4 || type == 9) { var name = getState(id).val; var status = getState(sensorId + 'status').val var alarmstatus = getState(sensorId + 'alarm_status').val var statusall =""; if(status && alarmstatus) { statusall = status + " | " + alarmstatus; } else { statusall = status + alarmstatus; } console.log('Status von ' + name + ' = ' + statusall); } }); } showLupusecStatus(); on({id: "lupusec.0.status.alarm_ex"/*Status Alarmanlage Alarm Status*/, change: "ne"}, function (obj) { showLupusecStatus(); });
-
Ich habe das jetzt anders gelöst.
Habe für jeden Melder eine roten Punkt erstellt, welcher bei Alarm angezeigt wird.
Super Sache.
Jetzt bin ich zufrieden.
Danke für die Unterstützung!
-
sieht sehr cool aus!
-
Hallo,
ich benötige etwas Anfänger-Unterstützung. Ich habe den IOBroker als Docker auf meinem Synology NAS laufen. Ich möchte über Apple HomeKit meine Lupusec XT2 Plus Alarmanlage scharf(Area 1 und Area 2) und unscharf schalten, sowie den Status der Sensoren anzeigen. Ich habe yahka und den Lupusec Adapter laufen. In yahka habe ich eine Alarmanlage als Gerät hinzugefügt (Alarm System).
Und ab hier weiß ich nich weiter:
Wenn ich jetzt einen Service hinzufüge, z.B.
Dienstname: Status Alarm
Service-Typ: Security-System
was muss ich nun in die angezeigten Felder eintragen?
In Homekit finde ich dann "Status Alarm - Zuhause":
Wie kann ich hier jetzt
Area 1 - Home 1 scharfschalten
Area 1 - Home 2 scharfschalten
Area 1 - Home 3 scharfschalten
Alarmanlage unscharf schalten?
Bitte für Anfänger
erklären.
-
Hallo Helfo,
vor dem gleichen Problem stand ich auch. Der Status der Lupusec Alarmanlage und von Apple Homekit ist leider nicht gleich.
Hier kannst Du das alles nachlesen https://developer.apple.com/documentati … ystemstate wenn Du möchtest.
Ich habe mir folgendes JavaSkript geschrieben, welches du so übernehmen kannst. Sobald Du in den Lupusec Alarmanalage den Status von ARM, DSIARM oder HOME anpasst, wird dieser in den Apple Wert "übersetzt" und in das Objekt javascript.0.Apple.Alarm.alarmset geschrieben. Ändert man den Status in Apple Homekit so wird dieser Status in javascript.0.Apple.Alarm.alarmstatus geändert. Dieser passt wiederum den Wert in der Lupusec Alarmanlage an.
var idLupusAlarmModus = "lupusec.0.status.mode_pc_a1"/*Status Alarmanlage Modus Area 1*/; var idLupusAlarmTrigger = "lupusec.0.status.alarm_ex"/*Status Alarmanlage Alarm Status*/; var idAppleStatus = "javascript.0.Apple.Alarm.alarmstatus"; var idAppleSet = "javascript.0.Apple.Alarm.alarmset"/*alarmset*/; function createStates() { createState(idAppleSet, false, { read: true, write: true, name: "Apple Alarm Set", type: "number", def: 0 }); createState(idAppleStatus, false, { read: true, write: true, name: "apple Alarm Status", type: "number", def: 0 }); } function setStatus(id, value) { var valueIst = getState(id).val; if (valueIst != value) { setState(id, value); } } function changeLupusAlarmStatus() { var setAlarm = Number(getState(idAppleSet).val); var lupusStatus; switch (setAlarm) { case 3: // Disarm lupusStatus = "0"; break; case 1: // Arm lupusStatus = "1"; break; case 0: // Home case 2: // Home lupusStatus = "2"; break; default: break; } if (lupusStatus >= "0" && lupusStatus <= "2") { console.log("Änderung von Lupus Alarm Status auf " + lupusStatus); if (getState(idLupusAlarmModus).val != lupusStatus) { setState(idLupusAlarmModus, lupusStatus); } } } function setAlarmStatus() { var statusAlarm = Number(getState(idLupusAlarmModus).val); var setAlarm = Number(getState(idAppleSet).val); var alarmTrigger = Number(getState(idLupusAlarmTrigger).val); var alarm; switch (statusAlarm) { case 0: // Disarm alarm = 3; break; case 1: // Arm alarm = 1; break; case 2: // Home if (setAlarm === 0) { alarm = 0; } else { alarm = 2; } break; case 3: // Home if (setAlarm === 0) { alarm = 0; } else { alarm = 2; } break; case 4: // Home if (setAlarm === 0) { alarm = 0; } else { alarm = 2; } break; default: break; } if (alarm >= 0) { console.log("Lupusec Status: " + statusAlarm + " is Apple Status " + alarm); setStatus(idAppleSet, alarm); if (alarmTrigger == 1) { setStatus(idAppleStatus, 4); // alarm ausgelöst } else { setStatus(idAppleStatus, alarm); } } } on({ id: idLupusAlarmTrigger, change: "ne" }, function (obj) { setAlarmStatus(); }); on({ id: idLupusAlarmModus, change: "ne" }, function (obj) { setAlarmStatus(); }); on({ id: idAppleSet, change: "ne" }, function (obj) { changeLupusAlarmStatus(); }); createStates(); setAlarmStatus();
So sieht es dann in Yahka aus:
Wenn du ioBroker im Docker Container laufen hast (Host Modus), kannst Du unter Umständen Probleme mit Apple Homekit haben. D.h. Apple Home findet die Yahka Geräte nicht. Dann musst auf der Synology die Bonjour Dienste deaktivieren (Dateidienste -> Erweitert) und den Bonjour Dienst im Docker Container neu starten (kannst auch den Container rebooten).
VG
Stübi
-
Wie binde ich das Javascript ein?
Habe den Javascript-Adapter und Dein Script unter Global gespeichert. Ich finde das Script unter Yahka, aber nicht javascript.0.Apple.Alarm.alarmstatus und javascript.0.Apple.Alarm.alarmset.