NEWS
[Projekt] Alarmanlage mit mehreren Alarmstufen
-
Hallo @Blackeye,
Hast du das Skript mit den States aktiviert? Dann sollten alle States angelegt worden sein.
Hast du das Skript mit der Logik aktiviert? Dann kannst du über den View im Vis oder direkt über den State javascript.0.alarm.in.enable die Alarmanlage aktivieren. Dazu wird der Wert des States als Profilname weitergegeben an die Funktion _loadSettings.
Die Sensorgruppen werden nur durch den Selektor definiert.
Ich nutze dazu sehr gerne die enum Funktion.
Alle Sensoren für die Gruppe Fassade gebe ich als Funktion genau diese enum.
Man kann so z.B. alle Türsensoren und Fensterkontakte im Reiter "Objekte" die Funktion Fassade zuweisen und anschliessend diese als Selektor nutzen.
var selFacade = $('statestate.id=javascript.0.*');
selFacade.on(function(obj) {
_checkSensor(obj,'facade');
});
Auf diese Weise kann man beliebig viele verschiedene Meldergruppen aus seinen Sensoren aufbauen.
-
Hallo zusammen,
ich habe jetzt versucht, bei mir das Projekt laufenzulassen. Die beiden Scripte laufen, die Widgets habe ich in Vis importiert.
Wenn ich die Seite aufrufe, erhalte ich allerdings nur eine leere Seite, auf der unten Kästchen mit "Silent", "Night", "Full" und "Presence" stehen.
Was könnte ich denn falschgemacht haben?
Danke für die Info, das Projekt sieht nämlich genau nach dem aus, was ich suche …
lg, sckibo
4423_alarmanlage.png -
Hallo @sckibo,
hast du das Material Design von Uhula eingebunden als CSS in deinem Projekt?
-
@nisio:Hallo @sckibo,
hast du das Material Design von Uhula eingebunden als CSS in deinem Projekt? `
Das hatte ich tatsächlich vergessen - ich habe es jetzt eingefügt, aber ausser der Farbe der "Buttons" hat sich nichts geändert.
Irgendetwas habe ich wohl falsch gemacht.
Danke für die Hilfe,
sckibo
4423_alarm2.png -
ich kenne das Alarmanlagen Modul von Fhem das arbeitet auch mit verschiedenen Alarmstufen Actor / Sensor.
Gibt es deine Alarmanlage später auch irgendwie als Komplett Paket ? geht das in iobroker ? Sorry bin noch absoluter iobroker Neuling nach 6 Jahren FHEM.
-
Hallo ChrisX,
was meinst du mit Komplettpaket?
Welche Features des Fhem Alarmpakets nutzt du?
Ich bin noch am testen der Alarmanlage im Alltag um rauszufinden was ich an Features wirklich benötige.
Für Ideen und Feedback bin ich immer dankbar
-
Hallo zusammen,
ich wollte mal fragen ob mir jemand mit Blockly weiterhelfen kann.
Ich bin Neuling in Sache ioBroker und mit Programmieren kenne ich mich auch nicht gut aus.
Bei mir läuft Homematic mit Fenster/Türkontakten und sonst noch ein paar Aktoren. Ich habe mit einem CCU2 Programm eine Alarmanlage realisiert, das leider nicht immer 100% läuft, es ist
immer wieder mal ein komisches Verhalten vorhanden.
Jetzt habe ich gedacht, weil ioBroker so eine super Sache ist, (habe es geschafft meine Geräte über Siri zu steuern) würde ich gerne das Alarmanlage Programm von der CCU auf ioBroker zu
übernehmen. Leider bekomme ich es nicht hin.
Vielen Dank schonmal
Gruss Oli
Hier mein CCU Programm:
4366_alarmierungog1.jpg
4366_alarmierungog2.jpg -
Hallo zusammen,
irgendwie komme ich leider nicht weiter.
Wenn ich das Programm "alarm_run" laufenlasse, findet das Script scheinbar meine Geräte nicht:
//Sensors
var selFacade = $('statestate.id=javascript.0.*');
var size = Object.keys(selFacade).length;
log('size of selFacade: '+size+' selFacade: '+selFacade+' type: '+typeof selFacade);
selFacade.on(function(obj) {
_checkSensor(obj,'facade');
log("Obj: ",obj);
});
var selMotion = $('statestate.id=javascript.0.*');
size = Object.keys(selMotion).length;
log('size of selMotion: '+size);
selMotion.on(function(obj) {
_checkSensor(obj,'motion');
});
Output:
21:57:14.480 [info] javascript.0 Start javascript script.js.common.Alarm_Run
21:57:14.483 [info] javascript.0 script.js.common.Alarm_Run: size of selFacade: 5 selFacade: [object Object] type: object
21:57:14.483 [info] javascript.0 script.js.common.Alarm_Run: size of selMotion: 5
21:57:14.483 [info] javascript.0 script.js.common.Alarm_Run: loadSettings profile:default
21:57:14.483 [info] javascript.0 script.js.common.Alarm_Run: registered 4 subscriptions and 0 schedules
Kann mir jemand sagen, wie ich feststelle, ob er die "facade" Sensoren gefunden hat?
vielen Dank, Sckibo
4423_facade.png -
//Sensors
var selFacade = $('statestate.id=~~[color=#FF0000]~~javascript.0.*'); `
Deine Objekte kiegen nicht unter der Instanz javascript.0.
Trag mal deine korrekte Instanz dort ein "hm-rpc.0".
Das könnte es schon gewesen sein.
-
@nisio://Sensors
var selFacade = $('statestate.id=~~[color=#FF0000]~~javascript.0.*'); `
Deine Objekte kiegen nicht unter der Instanz javascript.0.
Trag mal deine korrekte Instanz dort ein "hm-rpc.0".
Das könnte es schon gewesen sein. `
yep - das war es - jetzt werden die Sensoren gefunden.
Die Visualisierung funktioniert aber immer noch nicht.
Wenn ich den View auswähle, erhalte ich die beiliegenden Screens.
vielen Dank, sckibo
4423_vis1.png
4423_vis2.png
4423_vis3.png
4423_vis4.png -
Hast du weiß als Background-color? Probier mal etwas dunkles aus.
Die meisten Symbole sind weiß und könnten daher bei deinem weißen Hintergrund unsichtbar sein.
-
Hi,
vielen Dank - das hat funktioniert.
vg, sckibo
-
Hi,
vielen Dank - das hat funktioniert.
vg, sckibo `
Wunderbar, viel Spaß beim weitere Testen
-
Hi zusammen,
die nächste Idee ist es, daß offene Fenster beim Scharfschalten angezeigt werden - dann kann nicht scharfgeschaltet werden, solange nicht alle Fenster zu sind…
vg, sckibo...
-
gibts in diversen Skripten hier. Hier ein Ausschnitt aus meinem Skript. Bei mir kann allerdings weiter scharfgeschaltet werden, es wird aber informiert, dass noch etwas offne ist. Grund: falls ich unterwegs bin und die Automatik die Alarmanlage einschaltet, habe ich nichts davon, wenn ich wg. eines offenen Fensters, an dem ich dann eh nichts mehr ändern kann, die Alarmanlage grundsätlich nicht einschalte.
Wenn ich sie manuell daheim anschalte, wird es optisch dargestellt und beim einschalten nochmals gewarnt, wenn ein Fenster noch offen sein sollte.
! ````
// ########################################################################
// ####### Fensterstatus beim einschalten der Alarmanlage überwachen #####
! var fensterOffen =[];
var info;
! function fensterPruef() {
! var cacheSelectorState = $('channelstate.id=*.STATE');
! cacheSelectorState.each(function (id, i) { // Schleife für jedes gefundenen Element *.STATE im Gewerk Alarmanlage_Huelle
var status = getState(id).val; // Zustand *.STATE abfragen (jedes Element) // alt: getState(id).val;
var obj = getObject(id);
var name = getObject(id).common.name;
var devicename = name.substring(0, name.indexOf(":1.STATE")); //:1.state aus Text entfernenif(status ||status === 1){ fensterOffen.push(devicename); // offene Fenster zum Array hinzufügen fensterOffen.sort; // Array sortieren if(debug2) log(fensterOffen); } }); if(fensterOffen.length > 0) info = "Folgende Fenster noch offen: "+fensterOffen; else info = "Alle Fenster geschlossen."; if(debug2) log("Info ist "+info);
}
! ````
-
Hi Tempestas,
das sieht gut aus, schau ich mir spöter genau an. Wie nimmst Du denn dann das betreffende Fenster aus der Alarmierung raus? Ich verstehe, daß Du die Alarmanlage trotzdem scharfschaltest, auch wenn ein Sensor auslöst. Dann kann dieser Sensor aber nicht mehr alarmieren, oder?
gibts in diversen Skripten hier. Hier ein Ausschnitt aus meinem Skript. Bei mir kann allerdings weiter scharfgeschaltet werden, es wird aber informiert, dass noch etwas offne ist. Grund: falls ich unterwegs bin und die Automatik die Alarmanlage einschaltet, habe ich nichts davon, wenn ich wg. eines offenen Fensters, an dem ich dann eh nichts mehr ändern kann, die Alarmanlage grundsätlich nicht einschalte.
Wenn ich sie manuell daheim anschalte, wird es optisch dargestellt und beim einschalten nochmals gewarnt, wenn ein Fenster noch offen sein sollte.
-
Wenn der Einbrecher das Fenster freundlicherweise schließt, um es dann wieder zu öffnen schon. Sonst natürlich nicht.
-
Update:
Nur der Vollständigkeit halber - ich hab meinen Fehler zwischenzeitlich gefunden und behoben. Wenn man auf "var selFacade = $('state…" prüft, aber "var selFacade = $('channel …" verwenden sollte, kann das nicht funktionieren! :roll:
Hallo,
erst einmal ein großes Lob für die Entwicklung der Alarmanlage. Leider bekomme ich sie bei mir aber nicht ans Laufen.
Ich habe die beiden Skripte unter "Common" angelegt und gestartet. Unter "Objekte" werden mir die einzelnen Felder auch angezeigt. Wenn ich im View einen Status aktiviere oder deaktiviere, bekomme ich das auch unter "Objekte" entsprechend mit. Aber was muss ich jetzt genau tun, um bestimmte Sensoren zu überwachen?
Testweise wollte ich nun mal meine Osram Steckdose überwachen. Dazu habe ich unter "Aufzählungen" eine Funktion "facade" angelegt und damit die Steckdose versehen. Außerdem habe ich sie auch dem Raum "Esszimmer" zugeordnet. Mein Verständnis war nun, dass beim Schalten der Steckdose irgendwie auch der Alarm ausgelöst wird. Ich kann jedoch schalten wie ich will - es passiert letztlich nichts. Alle Datenpunkte unter alarm.out bleiben auf "false" stehen.
Ich hab auch schon ein "sendTo" eingefügt, um mich per Telegram informieren zu lassen, wenn etwas passiert. Beim de-/aktivieren der Alarmanlage funktioniert das auch. Aber ansonsten erhalte ich keinerlei Mitteilungen.
Gibt's vielleicht eine Step-by-step Anleitung für Dummies? :roll:
-
Hallo, ich würde mich dem anschließen…Finde die Idee und Umsetzung klasse. Hab soweit alles installiert. jetzt bin ich gerade dabei zu verstehen wo ich was eintragen muss, um das ganze entsprechend meiner Infrastruktur zu konfigurieren. Verstanden habe ich das schon mit den Zuweisungen der funktionen unter den Aufzählungen. Und auch das die Aktoren unde Sensoren wohl über diese Aufzählungen durch das Script ausgewerdet werden.
Wäre es vlt. möglich das Script mit ein paar Hinweisen zu versehen, oder beispiel Werte einzutragen und dises Evtl. zu markieren, damit auch Anfänger wie ich wissen wo sie etwas ändern oder anpassen müssen / können?
Das wäre echt prima...Danke schon mal...
-
Wäre es vlt. möglich das Script mit ein paar Hinweisen zu versehen, oder beispiel Werte einzutragen und dises Evtl. zu markieren, damit auch Anfänger wie ich wissen wo sie etwas ändern oder anpassen müssen / können? `
Ich habe im ersten Post noch ein Beispielskript eingefügt in dem ich zeige wie ich aktuell die einzelnen Alarme nutze um bestimmte Aktionen zu starten.