Homematic und Bosmon
Verfasst: 14. Feb 2020, 19:14
Hallo ich bin vor etwa 4 Tagen auf Eure tolle Software gestoßen, konnte allerdings kein weg finden Bosmon in mein Homematic zu integrieren. Dies habe ich nun selbst gelöst und möchte meine Lösung mit euch teilen.
Features:
Bei Alarm wird über Homematic Türgong ein sound abgespielt.
Lichter im Schlafzimmer werden für 1 Minute eingeschaltet.
1.in Bosmon ein webfester erstellen
2.webserver aufsetzen (unabhängig von bosmon)
3.unter telegrammereignisse/aktionen webfenster mit URL zu dieser Alarm.php aufrufen
http://localhost/Alarm.php?user=FFW&pas ... ER&cmd=set
cmd=set
cmd=reset
cmd=status
status gibt 1 oder 0 zurück
set setzt die status.txt die ihr im selben ordner wie die php datei erstellen müsst auf 1
reset setzt diese auf 0
Alarm.php
4. nun in eurer CCU3 eine Systemvariable mit namen FeuerwehrEinsatz erstellen
5. programm in der ccu3 erstellen das alle 2 sekunden ausgeführt wird
dieses führt das folgende script aus
dieses script prüft dann mit dem cmd=status ob 1 oder 0 in der status.txt steht und passt die systemvariable FeuerwehrEinsatz an. Nun haben wir also unseren alarm als systemvariable in unserer CCU3
6. wir erstellen noch ein programm auf der ccu3 das bei änderung der systemvariable FeuerwehrEinsatz auslöst. Bei aktionen schalten wir dann unsere lichter an oder starten den türgong.
am ende dieser aktionen folgt dann noch dieses script.
Dieses script setzt die status.txt wieder auf 0 damit der gong nicht endlos weiter klingelt 
Hoffe das erspart Jemandem Zeit.
MFG Jochen
Features:
Bei Alarm wird über Homematic Türgong ein sound abgespielt.
Lichter im Schlafzimmer werden für 1 Minute eingeschaltet.
1.in Bosmon ein webfester erstellen
2.webserver aufsetzen (unabhängig von bosmon)
3.unter telegrammereignisse/aktionen webfenster mit URL zu dieser Alarm.php aufrufen
http://localhost/Alarm.php?user=FFW&pas ... ER&cmd=set
cmd=set
cmd=reset
cmd=status
status gibt 1 oder 0 zurück
set setzt die status.txt die ihr im selben ordner wie die php datei erstellen müsst auf 1
reset setzt diese auf 0
Alarm.php
Code: Alles auswählen
<?php
$user = $_GET['user'];
$pass = $_GET['pass'];
$cmd = $_GET['cmd'];
if($user == "FFW"
&& $pass == "DeinPasswort")
{
if($cmd=='set'){
echo 'Alarm Set!!!';
$fp = fopen('status.txt', 'w');
fwrite($fp, '1');
fclose($fp);
}
if($cmd=='reset'){
echo 'Alarm Reset!!!';
$fp = fopen('status.txt', 'w');
fwrite($fp, '0');
fclose($fp);
}
if($cmd=='status'){
$f = fopen('status.txt', 'r');
$status = fgets($f);
fclose($f);
echo $status;
}
}
else
{
if(isset($_GET))
{?>
<form method="GET" action="setAlarm.php">
User <input type="text" name="user"></input><br/>
Pass <input type="password" name="pass"></input><br/>
<input type="submit" name="submit" value="Go"></input>
</form>
<?}
}
?>
5. programm in der ccu3 erstellen das alle 2 sekunden ausgeführt wird
dieses führt das folgende script aus
Code: Alles auswählen
! Alarm Auf Webseite Abfragen
var url = "http://localhost/FFW/Alarm.php?user=FFW&pass=DeinPASSWORT&cmd=status";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string response = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
if (response<>"")
{
if (response=="1")
{
object o_temp = dom.GetObject("FeuerwehrEinsatz");
o_temp.State (1);
}else{
object o_temp = dom.GetObject("FeuerwehrEinsatz");
o_temp.State (0);
}
}
6. wir erstellen noch ein programm auf der ccu3 das bei änderung der systemvariable FeuerwehrEinsatz auslöst. Bei aktionen schalten wir dann unsere lichter an oder starten den türgong.
am ende dieser aktionen folgt dann noch dieses script.
Code: Alles auswählen
! Alarm Reseten
var url = "http://localhost/FFW/Alarm.php?user=FFW&pass=DeinPASSWORT&cmd=reset";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State("wget -q -O - '"#url#"'");
dom.GetObject("CUxD.CUX2801001:1.CMD_QUERY_RET").State(1);
string response = dom.GetObject("CUxD.CUX2801001:1.CMD_RETS").State();
object o_temp = dom.GetObject("FeuerwehrEinsatz");
o_temp.State (0);

Hoffe das erspart Jemandem Zeit.
MFG Jochen
