Sqeezebox mit hm-Bewegungsmelder ein/aus schalten

Hallo Forum,
Ich möchte meine sqeezebox radio mit einem hm-Bewegungsmelder ein bzw ausschalten.Ich habe schon alle Instanzen für die Sqeezebox implementiert.
Ich kann die Box auch über das Webfront schalten , nur wenn ich das mit dem skript aus diesem Tread mache wechselt der schaltbutton in der Root bzw im webfront die Farbe von Rot nach Grün bzw von an nach aus aber die box selbst bleibt an.
Ich möchte lediglich die Box bei Bewegung für eine gewisse Zeit einschalten (Badezimmer sollten 10 min reichen :smiley: )
Wer kann mir weiter helfen
Mit freundlichen Grüßen michael

Hallo,
Habe ich hier ins falsche Tread gepostet oder kann mir keiner helfen…

Gehts dir um den CLI-Befehl, oder generell darum, wie du das…

… erledigen kannst?

Hallo nancilla,
was ist ein cli befehl?

> CLI

Ich kann die Box auch über das Webfront schalten

Wie machst du das bisher?

ahhh , habe ich gerade gelesen . CLI-Befehl denke ich das es funktioniert.

und so sieht es im webfront aus…

nix mit telnet. habe cutter, registervariable und ein clientsocket angelegt.

oder was meinst du , wie ich es bisher mache?

  • Eigentlich hatte ich dich weiter oben etwas gefragt.

Das ist schonmal gut, denn…

nix mit telnet.

…brauchst du auch nicht.
Das geht mit…

CSCK_SendText($ID_Clientsocket, $MAC_Adresse_box.' power ?'.chr(13));

…Um z.B. abzufragen, ob die Box ein oder aus ist.

oder was meinst du , wie ich es bisher mache?

Na ja, mit welchen Befehlen schaltest du momentan die Box ein/aus?
Mit Werners Script vermutlich und wie stellst du dir das zukünftig vor mit dem Bewegungsmelder um auf obige Frage zurückzukommen*^

ich habe das so umgesetzt

Bildschirmfoto 2014-04-16 um 18.04.04.png

die Variable Besetzt wird auf true gesetzt ,wenn Bewegung erkannt wird, nach 5 min wieder auf false

die include „inc_Squeezebox_neu.php“; hast du ???

<?


$besetzt = getvalue(31369 /*[Sqeezebox\Bad\besetzt]*/ );



include "inc_Squeezebox_neu.php";      // Squeezefunktions-Sammlung

$box1 = Bad;

SqueezePower(Bad , $besetzt);

SqueezeInit(Bad );


?>

und im Server folgendes einstellen bei An Wiedergabe fortsetzten

Mit Werners Script vermutlich und wie stellst du dir das zukünftig vor mit dem Bewegungsmelder um auf obige Frage zurückzukommen*^[/QUOTE]

Ja, eigentlich sollte die Box bei Bewegung angehen und bei keiner Bewegung (nach Ablauf einer eingestellte Zeit) wieder aus gehen.
Also , ich möchte nichts besonderes einstellen .keinen Sender , Lautstärke oder sonst irgendetwas.

Das sollte mit diesem Script (getriggert auf Änderung der Bewegungsmelder-Variable) funktionieren:

<?
// Noch eintragen:
$boxmac = "00:00:00:00:00:00";   // MAC-Adresse der Squeezebox
$sqb_server = 00000;  // ID vom Clientsocket (Squeezbox-Server)

if ($_IPS['VALUE'])
	{
	CSCK_SendText($sqb_server, $boxmac.' power 1'.chr(13));
	}
else
	{
	CSCK_SendText($sqb_server, $boxmac.' power 0'.chr(13));
	}
?>

Noch MAC-Adresse und Clientsocket-ID eintragen.
Die Zeit würde ich hardcoded vom Bewegungsmelder bestimmen lassen, also z.B. 2 Minuten nach letzter erkannter Bewegung aus (false). Hier eine feste Zeit vom Script vorgeben macht keinen Sinn.

Hallo Nancilla,
Genau so soll es sein!
Danke
Gruß ,Michael

Schon probiert? :slight_smile:
War noch Tippfehler im Script…

C=b. :wink:
Habe ich gesehen…

Hallo Jens,
ich habe dein Skript mal eingebaut und angepast ( Die Ewige schalterei von dem Bewegungsmelder macht mich KOLONE)deshalb möchte ich eine feste Zeit haben die bei Bewegung die Sqeezebox einschaltet .Normale Badezimmer geschäfte 10 min oder augiebiges Vollbad 60 min.
Was ich gemacht habe , bew_skript von Nancilla eingebaut , Funktioniert hervorragend!!
Dein Skript eingebaut und angepasst , in das Steuerskript von Werner implementiert , hat auch funktioniert !!
Und nu weis ich nicht weiter .Ich habe mal meine Root angehängt. Was muss ich noch einstellen?
Mfg Michael

Ah, für solch lange Sitzungen müsstest du da aber mitteilen, dass du das vorhast oder dem Bewegungsmelder immer mal wieder zuwinken:D
Also zusätzliche Bool-Variable anlegen/einbinden… wie auch immer du diese fütterst (Webfront oder so)?
Script ungetestet…

<?
// Noch eintragen:
$boxmac = "00:00:00:00:00:00";   // MAC-Adresse der Squeezebox
$sqb_server = 00000;  // ID vom Clientsocket (Squeezebox-Server)
$longtime = GetValueBoolean(ID-Zusatzvariable); // ID der Variable für Vollbad

if ($longtime) $time = 3600;
else $time = 600;

if ($_IPS['VALUE'])
    {
	 CSCK_SendText($sqb_server, $boxmac.' power 1'.chr(13));
    IPS_SetScriptTimer($_IPS['SELF'], $time);
	 }
else if($_IPS['SENDER'] == "TimerEvent")
    {
	 CSCK_SendText($sqb_server, $boxmac.' power 0'.chr(13));
    IPS_SetScriptTimer($_IPS['SELF'], 0);
	 }
?>

… lässt sich auch noch weiter ausbauen :wink:

Hallo , und frohe Ostern
Das mit dem skrip funktioniert soweit ganz gut.
Wenn ich mich jetzt im Badezimmer bewege läut der Timer 600 sek. Und das Radio geht aus .so wollte ich es eigentlich auch haben :rolleyes: soweit ,sogut.
Jetzt habe ich noch diesen Schalter für ein Vollbad eingefügt ,bei Betätigung müsste der Timer eigentlich 3600 sek. Laufen ,oder habe ich das falsch interpretiert .drücken des schalter’s Erhöhung des skripttimers.
Aber das funktioniert nicht ,was mache ich falsch?

Habs mal nachgestellt, bei mir geht das :eek:

Und Du hast eine Boolean-Variable angelegt und den Text „ID-Zusatzvariable“ durch die ID dieser Variable ersetzt?

Gruß
Bruno

Hallo Bruno ,
ja habe ich ersetzt.
Hier mal meine Root



mfg michael

Ach so , bei Betätigung des Schalter’s Vollbad wird nur immer auf 300 (600sek) getriggert.