IPS View Alarmanlage

Hi,

würde gerne meine Alarmanlage in IPS View komplett darstellen, mit Homematic Komponenten.
Jetzt kurz eine Frage, will mir einen Button erstellen, der entweder „rot“ oder „grün“ leuchtet, sofern
meine Fensterkontakte alle geschlossen sind = grün, wenn eins offen ist = rot.

Wie mache ich das am besten? Kann ich den Workflow Manager dafür nutzen oder wie mache ich das am besten?

Weiter geht es dann, dass ich scharf schalten möchte wenn alle ok sind oder auch unscharf wenn ich wieder Heim komme.
Habe es im Moment alles mit Mediola und CCU2 als Programm laufen, aber immer alles doppelt will ich mal abstellen und nur noch IPS View nutzen.

Danke und Gruß
BH

ja, das sollte mit einem Workflow sehr einfach zu lösen sein, zuerst mal die Status-Variable

[ul]
[li]Boolean Variable anlegen
[/li][li]Alle Kontakte über ein ODER verknüpfen und den Output auf die Variable verlinken
[/li][li]Bei den EIngangsvariablen die Option Workflow Ausführung „Bei Änderung“ setzen
[/li][/ul]

Die Scharfschaltung der Alarmanlage würde ich dann in einem gesonderten Workflow machen

Ich hab das bei mir mit dem Modul „SymconAlarmModul“ von Dansch (Daniel) gebaut. Vielen Dank an dieser Stelle an Daniel, für ein wirklich klasse Modul .:o
Kombiniert mit dem IPSView_AlarmSystemProtection-Script von Andreas (auch hier nochmal vielen Dank) ergibt sich eine perfekte Alarmanlage, die mit allen gewünschten Sensoren (so sie denn die Werte als Bool liefern) funktioniert.

Anbei zwei Bilder dazu:

Das Protokoll erscheint nur in der IPSView Windows client version in dunkler Schrift. Auf meinem Android sehe ich die Schrift in der eingestellten Farbe.

Da man es gar nicht oft genug sagen kann, nochmals vielen Dank für die fleißigen Forums-Mitglieder, die einem solche Sachen ermöglichen. :o

Viele Grüße,

Burkhard

Hallo Burkhard

Wo kann man denn das Modul „SymconAlarmModul“ finden.
Würde es gerne mal anschauen.
Hab überall gesucht aber nichts gefunden.

Mfg Stefan

Hallo Stefan,

ich hab es beim Stöbern auf Github entdeckt. Ich hatte mir von dansch mal das SymconPlex Hometheater installiert undwar auf seiner Github Seite auf die Alarmanlage gestoßen.

@ dansch: Ich hoffe, es ist okay für Dich, dass ich mir das Alarm-Modul nutze, da es hier im Forum ja nicht besprochen war. :o

Viele Grüße,

Burkhard

Vielen Dank

Das werde ich mir mal anschauen.

Mfg Stefan

Hi Andreas,

ich kann das Oder Modul aber auf max. 8 Werte erweitern im Eingang, ich habe aber 14 Fensterkontakte,
wie mache ich das dann?

Soweit bin ich jetzt mal mit nur 2 Kontakten, aber den Rest deiner Beschreibung verstehe ich nicht. :frowning:

ja, das sollte mit einem Workflow sehr einfach zu lösen sein, zuerst mal die Status-Variable

ja, das sollte mit einem Workflow sehr einfach zu lösen sein, zuerst mal die Status-Variable

Boolean Variable anlegen -> erledigt
Alle Kontakte über ein ODER verknüpfen und den Output auf die Variable verlinken  -> meintest du es so?
Bei den EIngangsvariablen die Option Workflow Ausführung "Bei Änderung" setzen -> verstehe ich nicht 

Freue mich über eine kleine Hilfe

Du kannst auch mehrere ODER vor ein ODER setzen, dadurch hast Du dann bis zu 64 Möglichkeiten;)

Instanz auswählen
Option „Bei Änderung“ bei der Eigenschaft „Workflow Ausführung" setzen

Ich bekomme es einfach nicht hin, wenn Jemand mal kurz Lust auf
eine TeamViewer Session hat und es mit zeigen mag, wäre ich sehr dankbar.

Ich stehe irgendwie auf dem Schlauch.

Danke
BH

Schätze Andreas meint so etwas:
Mehrere Odergatter auf ein Odergatter, dessen Ausgang zum Weiterverarbeiten .
Gruß Helmut

Hi Helmut,

das mit den mehreren ODERs hab ich schon verstanden, nur ich verstehe es dann nicht weiter…

Gesendet von iPhone mit Tapatalk

An den Eingängen der Odergatter kommen Modul Ausgänge, bei Dir was mit Homematic

An den Ausgang des Odergatters kommt ein Modul Eingang, also etwas was bei Dir eine LED zum Leuchten bringt

Oder eine Variable, aber auch die ist ein Modul-Eingang

Vielleicht verwirrt Dich diese Ein- Ausgang Geschichte ?
Gruß Helmut

Hi Helmut,

ja genau das verwirrt mich und ich verstehe die Logik irgendwie nicht.

Irgendwie muss es einmal klick machen, aber das macht es nicht.

Soll ja erst einmal nur ein Alarmcheck sein, ob alle Fenster zu sind.
Sprich ein Button, der z.B rot (wenn nicht alle Fenster zu) oder grün (wenn alle Fenster zu) leuchtet.
Ja habe alles Homematic Fensterkontakte.

VG
BH

Gesendet von iPhone mit Tapatalk

Ich habe es jetzt so aber immer noch Fehler.

Also, was ich will.
Alle Fensterkontakte sollen geprüft werden, wenn alle zu sind, dann soll das Ergebnis ein „grüner Button werden“,
wenn ein Fenster noch auf ist, soll es ein „roter Button sein“, ich schnall das nicht, hab es jetzt 1000 mal probiert. ;-(

Danke
BH

Das Modul „Bei Änderung“ muss auf jeden Fall direkt hinter eine Variable. Letztendlich brauchst Du es aber gar nicht, da Du das in diesem Fall direkt bei der Instanz setzen kannst (Eigenschaft „Auslösung Workflow“).

Ich mach dazu in den nächsten Tagen noch einen Beitrag auf meiner Homepage und beschreibe die Vorgehensweise noch etwas detailierter;)

Beitrag ist online :wink:

Andreas,
vielen Dank, dass sieht leicht verständlich aus und jetzt verstehe ich auch was du meinst mit dem ausführen bei Änderung, die Eigenschaft habe ich übersehen.

1000 Dank!

Dann schaue ich mal wie ich nun weiter komme.

Nun will ich scharf/unscharf schalten und wenn dann eine Änderung stattfindet soll pushmail und Sirene angehen.
Bzw. bei unscharf alles unscharf schalten.

Bekommt man das auch über die Workflows hin?

LG
BH

Gesendet von iPhone mit Tapatalk

Folgendes soll jetzt passieren:

wenn ich den Handsender oder einen virtuellen Button aus der CCU2 nutze,
soll geprüft werden, ob der „ALARMCHECK“ ok ist und wenn ja, soll eine Pushnachricht, dass die Alarmanlage scharf ist und mein Türgong soll rot blinken.

In der CCU2 habe ich die Programme alle so laufen, will es aber alles über IPS darstellen, damit ich endlich von meiner Mediola Virtualisierung weg komme.

Danke und Gruß
BH

Fang mal mit dem Handsender und der Lampe an.

Platzier doch einfach mal die Variable des Handsenders im Workflow, dahinter ein Modul „Bei Aktualisierung“ und beim Ausgang „Auslösung“ steuerst Du Deine Lampe an.

Hi Andreas,

hab ich mal gemacht:

dann hört man den Gong und die Lampe blinkt duaerhaft „rot“.

  1. Frage, wo in den Script kann ich angeben welche Gong/MP3 abgespielt werden soll und wo ist angegeben, welche LED Farbe blinken soll, hier das Script aus dem Workflow:
<?php

/* =====================================================================================================
 * 
 * IPSWorkflow Script
 * 
 * Dieses Skript wurde von einem Workflow des IPSStudio erzeugt, bitte nehmen Sie keine Änderungen
 * an dem Skript vor, da dieses beim nächsten Speichervorgang ansonsten wieder überschrieben werden.
 * 
 * Generiert
 *    at: 30.09.2018 16:08:37
 *    von: IPSStudio
 *    ID: 15535 /*[Alarm_scharf]*/
 * 
 * Benutzte Objekte:
 *    29799 /*[Geräte\Diele_EG\MP3-Tür_Ton]*/ - Geräte.Diele_EG.MP3-Tür_Ton
 *    24345 /*[Geräte\Diele_EG\MP3-Türgong_Licht]*/ - Geräte.Diele_EG.MP3-Türgong_Licht
 * 
 * Generierte Ereignisse:
 *    36046 /*[Alarm_scharf\Bei Aktualisierung M2]*/ - Alarm_scharf.Bei Aktualisierung M2
 * 
 * ===================================================================================================== */

   $executionID = round(microtime(true)*1000)-(IPS_GetKernelStartTime()*1000);
   SendDebug($_IPS['SELF'], 'S||||'.$executionID, '', 0);

   $M2 = new IPSEntityModuleOnUpdate($_IPS, 36046 /*[Alarm_scharf\Bei Aktualisierung M2]*/);
   $M1 = new IPSEntityInstance($_IPS, 29799 /*[Geräte\Diele_EG\MP3-Tür_Ton]*/);
   $M3 = new IPSEntityInstance($_IPS, 57694 /*[Geräte\Handsender\Handsender_scharf Jens]*/);
   $M5 = new IPSEntityInstance($_IPS, 24345 /*[Geräte\Diele_EG\MP3-Türgong_Licht]*/);

   if ($M3->Evaluate()) {
      SendDebug($_IPS['SELF'], 'M3|PRESS_SHORT|M2|SetValue|'.$executionID,$M3->GetValue('PRESS_SHORT'),0);
      $M2->SetValue($M3->GetValue('PRESS_SHORT'));
   }
   if ($M2->Evaluate()) {
      SendDebug($_IPS['SELF'], 'M2|GetFired|M1|STATE|'.$executionID,$M2->GetFired(),0);
      $M1->SetValue('STATE', $M2->GetFired());
      SendDebug($_IPS['SELF'], 'M2|GetFired|M5|STATE|'.$executionID,$M2->GetFired(),0);
      $M5->SetValue('STATE', $M2->GetFired());
   }
   $M1->Evaluate();
   $M5->Evaluate();


   /* -----------------------------------------------------------------------*/
   function SendDebug($id, $message, $data, $format) {
      if (is_numeric($data)) {
         $data = (string)round($data, 2);
      }
      IPS_SendDebug($id, $message, $data, $format);
   }

   /* -----------------------------------------------------------------------*/
	class IPSEntityModuleOnUpdate {
		private $ips;
		private $id;
		private $value;
		private $isFired;

		public function __construct($ips, $id) {
			$this->ips = $ips;
			$this->id = $id;
  		}

  		public function Evaluate() {
  		   $this->isFired = $this->ips['SENDER'] == 'Variable' && $this->ips['EVENT'] == $this->id;
  		   return $this->isFired;
  		}

  		public function SetValue($value) {
  		   $this->value = $value;
  		}

  		public function GetValue() {
	  		return $this->value;
  		}

  		public function GetFired() {
  		   return $this->isFired;
  		}
  		
 		public function GetNotFired() {
  		   return !$this->isFired;
  		}
	}

   /* -----------------------------------------------------------------------*/
	class IPSEntityInstance {
		private $ips;
		private $id;

		public function __construct($ips, $id) {
			$this->ips = $ips;
			$this->id = $id;
  		}

  		public function SetValue($ident, $value) {
   		   IPS_RequestAction($this->id, $ident, $value);
  		}

  		public function GetValue($ident) {
 		   return GetValue(IPS_GetObjectIDByIdent($ident, $this->id));
  		}

  		public function Evaluate() {
  		   return true;
  		}
	}


   SendDebug($_IPS['SELF'], 'F||||'.$executionID, '', 0);

?>

Beim unscharf schalten passiert mit dem Handsender nix, im IPS View kann ich jedoch die LED ausbekommen, wenn ich den Workflow den Wert auf „false“ stelle, jedoch macht er das wohl nicht beim Drücken des Handsenders:

Also der Türgong fällt also automatisch in den Status „false“, die LED bleibt dann jedoch „true“, generell auch ok, wenn es scharf ist, doch soll dann auch ausgehen, wenn ich unscharf schalte.

Danke und Gruß
BH