SensorAndSwitch: Ideen Sammlung - Wunschliste

HarryHase

Mitglied
Mitglied seit
16 Feb 2006
Beiträge
657
Punkte für Reaktionen
34
Punkte
28
Für den Anfang würde ich es zwar nicht anbieten wollen; Wäre es auch denkbar einen automatischen download von Scripten?

!Click and download/install!

Was wären die Vor- und Nachteile?
 
Zuletzt bearbeitet:
So eine Geschichte wie bei PortableApps? Da kommt eine Liste mit allem, was man herunterladen kann und man setzt nur ein Häkchen davor und bekommt es.

Vorteil ist, dass man schnell und bequem die vielfältigen Zusatzscripte einbinden kann.

Nachteil: Eindeutig viele "Nachtschichten" für mich. ;)
 
Moin

Dann mach was Einfacheres...
Ein Smartfon App
Im Prinzip ruft es im eingebauten Webbrowser nur die lokale SaS Adresse auf.
...also Easy.
 
Aus Mangel an geeignetem Smartphone fällt das flach. Sorry.
 
War eh nur Spaß, ein Favoritenlink reicht mir da völlig aus.
 
Keiner ne Idee?

Hab mich ja zurückgehalten, bis jetzt...
In meinem Skriptverzeichnis glitzern noch so einige (Halb)Edelsteine. :mrgreen:
Und da wir hier im IPPF rumhängen...
rfo.sh (Konsolenausgabe ohne Parameter)
Code:
Extension 620 allowed: 0
Extension 620 enabled: 1
Extension 621 allowed: 0
Extension 621 enabled: 1
Extension 622 allowed: 0
Extension 622 enabled: 1
Extension 623 allowed: 0
Extension 623 enabled: 1
Extension 624 allowed: 0
Extension 624 enabled: 1
Extension 625 allowed: 0
Extension 625 enabled: 1
Extension 626 allowed: 0
Extension 626 enabled: 1
Extension 627 allowed: 0
Extension 627 enabled: 1
Extension 628 allowed: 0
Extension 628 enabled: 1
Extension 629 allowed: 0
Extension 629 enabled: 1
Wer vermutet, es handelt sich hier um die Fritz!Box Registrare, liegt goldrichtig.
Und: Es läßt sich nicht nur reg_from_outside schalten,
sondern auch ob sich überhaupt "etwas" registrieren darf. ;)

Ich finds nützlich.
 
Zuletzt bearbeitet:
Das Ding ist ja so teuer, wie ein RaspberryPI B+ :shock:

Ist ganz lustig, was man damit machen kann, aber was soll es denn überhaupt bei dir können? Was willst du per sas damit steuern? An, aus? Bestimmte Farbe an, aus. Bestimmtes Leuchtprogramm wählen?

So ist das Ganze einfach zu unklar.
 
Basis-/Grundausstattung des SAS und Erweiterung um mehrere Boxen

Hallo,
Ich bin mir nicht sicher, ob ich es eventuell hier irgendwo überlesen oder nicht verstanden habe, aber evtl. wäre es ja eine Idee/Anregung ein paar Schalter im Bereich Fritz als Basis ins Paket zu packen:


  • die schon vorhandenen Geräte unter Smarthome
  • Schalter für WLAN (2,4 und/oder 5,0) +Gast-WLAN
  • evtl. Rufumleitungen

Grüße,
Frank

[EDIT]
Ich habe zum Spaß einmal die Daten meines PLA546e in SAS gekloppt. Er zeigt die Smarthome-Geräte an (den DECT100 nur 1x :wink: ). Der WLAN- / Gast-WLAN-Status auch.
Vielleicht wäre es möglich, im Menü mehrere Boxen zu erfassen. Sagen wir einmal max. 5 Stück :noidea: So könnte man schon ein recht ansehnliches Netzwerk zusammenfassen. Dann noch eine WLAN-Schaltung :wink:
In der Pseudo-PHP-Datei gibt man dann an, welches Gerät es sein soll (Variable: "FBF-Nr"??)
 
Zuletzt bearbeitet von einem Moderator:
Das Ding ist ja so teuer, wie ein RaspberryPI B+ :shock:

Ist ganz lustig, was man damit machen kann, aber was soll es denn überhaupt bei dir können? Was willst du per sas damit steuern? An, aus? Bestimmte Farbe an, aus. Bestimmtes Leuchtprogramm wählen?

So ist das Ganze einfach zu unklar.

Beim klick an und aus. Farbe kann man vorher im Code als HEX angeben.
Und ggf als Schaltscript:

Wenn Temperatur, Sprit, Wattzahl von DECT!200 unter/über x dann geh an.
 
@SF1975: Das Erfassen von mehreren Fritzboxen zu realisieren dürfte kein großes Problem sein. Ich suche im Moment noch einen eleganteren Weg ohne Begrenzungen. Dauert wohl ein bisschen, aber ich denke, ich habe dafür eine gute Idee.

Ich habs mir auf jeden Fall vorgemerkt ;)
 
@dtrieb: mal so auf die Schnelle:

pseudoschalter.php

PHP:
<?php 

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                               |
		|   ===============================================================   |
		|   -> Schalter                                                       |
		|      Dieses Script simuliert ein PseudoGerät Schalter zu Test-      |
		|      zwecken.                                                       |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/
 
function web($url,$post) {
/**********************/
	$ch = curl_init();
	$timeout = 5;
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
	curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
	curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
	curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
	curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
	$Status = curl_exec($ch);
	curl_close($ch);
	return $Status;
}

	$Pfad=".";
	
	$Status="S##E##";
	if (!file_exists($Pfad."/statusschalter.txt")) {
		$fp=fopen($Pfad."/statusschalter.txt","w");
		$Status="0";
		fputs($fp,"S#".$Status."#");
		fclose($fp);
	}
	if ($_GET["info"]=="status") {
		$fp=fopen($Pfad."/statusschalter.txt","r");
		$xml=fgets($fp);
		fclose($fp);
		if (strpos($xml,"1")) {
			$Status="S#1#";
		}
		if (strpos($xml,"0")) {
			$Status="S#0#";
		}
	}
	if ($_GET["schalter"]=="1") {
		$nix=web('http://localhost:8934/blink1/pattern/play?pname=blinkname',$post);
		$fp=fopen($Pfad."/statusschalter.txt","w");
		$Status="S#1#";
		fputs($fp,$Status);
		fclose($fp);
	}
	if ($_GET["schalter"]=="0") {
		$nix=web('http://localhost:8934/blink1/pattern/stop?pname=blinkname',$post);
		$fp=fopen($Pfad."/statusschalter.txt","w");
		$Status="S#0#";
		fputs($fp,$Status);
		fclose($fp);
	}
	echo $Status;
	exit;

?>

Nachtrag: Denk dran. Url muss noch angepasst werden. blinkname ist das Blinkprogramm, was abgespielt werden sol; halt entsprechend angleichen an deine Gegebenheiten.
 
Zuletzt bearbeitet:
Abend

@JL3: Ick gloob du warst etwas zu schnell.

Funktion web()
1. Funktionen müssen definiert werden bevor sie aufgerufen werden.
2. Durch das exit; wird web() sowieso nie definiert.
 
Zuletzt bearbeitet:
Abend

@JL3: Ick gloob du warst etwas zu schnell.

Jep, hab das grad zusammenkopiert, weil in meiner Laborversion ist web() schon definiert. Habs oben korrigiert. :)

Nachtrag:
zu 1.: nein, geht auch danach
zu 2.: nein, geht auch nach exit; sonst würde sas gar nicht funktionieren ;)

habe die functions immer alle meist am Schluss, also das war Nonsens koyaanisqatsi. ;)
Ruf mal sensorandswitch.php in einem Editor auf und schau nach. :mrgreen:
Du verwechselst das mit den includes...
 
@SF1975: Ich habe meine Laborversion bereits vorbereitet, mehrere Fritzboxen mit deren angemeldeten Geräten ansprechen zu können. Da der Fall aber nicht allzu oft vorkommen dürfte, habe ich für diesen Fall die Möglichkeit dann vorgesehen, statt bei den Einstellungen z. B. http://fritz.box einzugeben nur file einzutragen und dann unter dem Verzeichnis conf/ eine Datei sensorandswitchfb.conf mit jeweils Url,Benutzer,Password für jede anzusprechende FB. Dadurch können dann beliebig viele FB in diese Datei eingetragen werden. Halt mit dem Editor und nicht per WebGUI, aber das werden eh nur Profis nutzen. Für den "Normalanwender" ändert sich nichts.

Ich muss das noch fertigprogrammieren und testen, aber so dachte ich mir das. Wäre das ok?
 
Ok, habs nachgeprüft.
test.php
PHP:
<?php
echo test("hallo welt"); // Funktionsaufruf
exit; // Skript beenden
function test($arg) { // Funktionsdefinition
return $arg;
}
?>
Das geht ja tatsächlich.
Für Shellskripfunktionen gilt das aber.
Ich mein PHP macht das dann irgendwie anders als andere Sprachen.
Naja, ein Fehler (Nonsens) ist es jedenfalls nicht, eher guter Stil, dann.
 
Zuletzt bearbeitet:
@dtrieb: mal so auf die Schnelle:

pseudoschalter.php

PHP:
<?php 

/*
+---------------------------------------------------------------------+
|                                                                     |
|   SensorAndSwitch Automation Pro                                    |
|   PseudoGeräte-Script                                               |
|   ===============================================================   |
|   -> Schalter                                                       |
|      Dieses Script simuliert ein PseudoGerät Schalter zu Test-      |
|      zwecken.                                                       |
|                                                                     |
+---------------------------------------------------------------------+
*/
 
function web($url,$post) {
/**********************/
$ch = curl_init();
$timeout = 5;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0)");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($ch, CURLOPT_MAXREDIRS, 10);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$Status = curl_exec($ch);
curl_close($ch);
return $Status;
}

$Pfad=".";

$Status="S##E##";
if (!file_exists($Pfad."/statusschalter.txt")) {
$fp=fopen($Pfad."/statusschalter.txt","w");
$Status="0";
fputs($fp,"S#".$Status."#");
fclose($fp);
}
if ($_GET["info"]=="status") {
$fp=fopen($Pfad."/statusschalter.txt","r");
$xml=fgets($fp);
fclose($fp);
if (strpos($xml,"1")) {
$Status="S#1#";
}
if (strpos($xml,"0")) {
$Status="S#0#";
}
}
if ($_GET["schalter"]=="1") {
$nix=web('http://localhost:8934/blink1/pattern/play?pname=blinkname',$post);
$fp=fopen($Pfad."/statusschalter.txt","w");
$Status="S#1#";
fputs($fp,$Status);
fclose($fp);
}
if ($_GET["schalter"]=="0") {
$nix=web('http://localhost:8934/blink1/pattern/stop?pname=blinkname',$post);
$fp=fopen($Pfad."/statusschalter.txt","w");
$Status="S#0#";
fputs($fp,$Status);
fclose($fp);
}
echo $Status;
exit;

?>

Nachtrag: Denk dran. Url muss noch angepasst werden. blinkname ist das Blinkprogramm, was abgespielt werden sol; halt entsprechend angleichen an deine Gegebenheiten.
Hallo JL3!

Erstmal danke für die schnelle Antwort!
Doch:

Wenn ich den Namen angepasst habe und die URL aus der PHP Datei aufrufe klappt es.

Jedoch nicht aus SaS.
(In der Textdatei steht auch immer der richtige Schaltzustand)

Hast du noch eine Idee?
 
Hallo,:-D wäre 8). Kann man dann in jeden Pseudoscript festlegen, welche Box angesprochen wird?
Das hat mit den PseudoGeräte-Scripten nichts zu tun, die sind mit sashelper eh komplett unabhängig. Es geht da nur um die angemeldeten Geräte. Aber für jede FB gibt es dann Variablendaten. Das sieht man dann, was du ganz genau machen willst. Ggf. nutzt du noch den sashelper pro Box.
 
@dtrieb:
Nochmal nachgefragt: Wenn du pseudoschalter.php im Browser aufrufst, funktioniert es also?
In sas ist der Button schwarz bzw. grau?
Stimmen die Pfade in der sensorandswitch.conf (EURL=Url-Pfad zu sas)?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.