[Frage] SensorAndSwitch: Raspberry: Bitte um Hilfe bei Pseudoscript-Erstellung

Hallo JL3:

hatte ja die Datei "sensorandswitchhelperurl.phpconf" nach deinen Vorschlag geändert und es wollte einfach nicht funktionieren.
Ich habe den Fehler in einem alten Schript aus der Datei "pseudogeraetefb-1.zip" bei mir gefunden.
Ich hatte war das Script "pseudocputemp.php" auf den RaspberryPI geladen aber es noch nicht an die Verarbeitung mit "sashelper" angepasst.
Ich habe das Schript mal angepasst und es läuft ohne Probleme.

Wenn Interesse besteht kannst du Dir es mal ansehen und es bei Wunsch der PaspberryPI-Nutzer bitte in die "pseudobeispiele\sashelper\fritzbox" integrieren.

Ich muss nur mal herausfinden dieses Script hier hochzuladen.
 
Hallo,
Poste es doch einfach ;) [ code] ... [/ code] ohne die Leerzeichen ;)
 
Ok werde es mal versuchen

pseudofritzboxtemp.php

Code:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                    Fritzbox   |
		|   ===============================================================   |
		|   CPUTemp                                               sashelper   |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	
	# In der folgenden Datei sind die Variablen der sashelper mit Pfadangaben
	# benannt, wie z. B.:
	# $helperurlfb='http://192.168.123.123/sensorandswitch/sensorandswitchhelper.php';
	include "conf/sensorandswitchhelperurl.phpconf";
	
	include "include/includefunctions.php";
	include "include/includefritzbox.php";
	include "include/includedateien.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	include "include/includedefine.php";

	$befehl='/usr/bin/ctlmgr_ctl r power status/act_temperature';
	$url=$helperurlfb."?befehl=".encodiere($befehl,33455);
	$Status=web($url,$post);
	if ($Status) {
		echo "T#".$Status."#";
	}
	else {
		echo "T##E##";
	}
	exit;
	
?>

Ich hoffe es hat funtioniert
 
@ALLE:

Ich habe bei meinen Versuchen ein Problem festgestellt das sollte beachtet werden.

Ich habe eine Datensicherung meiner 8GB SD - Karte des PaspberryPI gemacht und wollte dieses Image auf eine andere SD - Karte aufspielen aber das Programm "Win32DiskImager" weigert sich dies zu tun.

Alle SD - Karten sind vom gleichen Hersteller und sind alle aus der der gleichen Charge (laut Serien-Nummern) haben aber unterschiedliche Speichergrößen.

Eine Karte hat 30 MByte weniger die andere 100 MByte mehr, leider habe ich das nicht beachtet und eine Kopie von der 100 MByte mehr SD - Karte gemacht.

Dieses Image kann leider "Win32DiskImager" nicht auf eine Karte übertragen die etwas kleiner ist (30MByte kleiner). durch diesen "Fehler" kann ich das Image der 1 Karte nicht auf eine neue Karte übertragen.

Meine Kontrolle von 5 neuen SD - Karten brachte das Ergebnis das alle unterschiedliche Speichergrössen haben, das ist für eine "Sicherung" des Image und das "Rückspielen" nicht gut.

Das sollte beim Menüpunkt "Datensicherung" beim RaspberryPI beachtet werden.

Ich werde probieren im Menüpunkt "Raspberry Pi Software Configuration Tool" auf den Punkt "Expand Filesystem" beim ersten Image zu verzichten und dann erstmal wenn alles installiert ist ein Image zumachen.

Wenn ich Glück habe ist es max. 4 GByte gross und es kann auf eine grössere SD - Karte aufgespielt werden. Hinterher kann ja die Funktion "Expand Filesystem" auf der neuen Karte ausgeführt werden.

Ich hoffe ich bin im richtigen Thema gelandet.

Gruss ElefantenMaus
 
Hallo,

Blöde Frage, aber woher hast Du die Buttons? Ich würde gerne hier einen blauen Schalter einfügen:

Selber gemalt. In der nächsten Version mach ich auch einen blauen Button in den Designs. :mrgreen:
 
@ALLE:

... SD - Karten ... haben aber unterschiedliche Speichergrößen.

Eine Karte hat 30 MByte weniger die andere 100 MByte mehr, leider habe ich das nicht beachtet und eine Kopie von der 100 MByte mehr SD - Karte gemacht.

Ich hoffe ich bin im richtigen Thema gelandet.

Gruss ElefantenMaus

Das Thema ist das falsche, aber egal :)
SD-Karten haben bei der Fertigung bereits Differenzen. Es gibt eine sehr aufwändige Lösung für das Problem, welche im Internet dafür existiert. Ich suche dort nach einer praktikablen Lösung. Ich benutze zum Erstellen eines neuen Images eine kleine Karte, bastle, bis es fertig ist und packe alles auf eine größere Karte. Wie gesagt, ich suche da ebenfalls noch nach einer vernünftigen Lösung.
 
@JL3:

Danke für die Rückmeldung, habe es wegen des Thema "Sas auf RaspberryPI" hier eingefügt. Das Problem mit den SD - Karten hatte ich leider nicht beachtet. Werde es wahrscheinlich auch mal mit einer 4GByte SD probieren, das alte Image kann ich leider nicht auf eine andere aufspielen. Es sei den die neue SD ist grösser als die alte SD.
 
Ein nicht gemountetes Dateisystem lässt sich mit dd lesen/schreiben.
Eventuell lässt sich damit auch dein Backup auf eine kleinere SD zurückspielen.
Trotzdem, ein fschk wäre dann danach angebracht.
 
Zuletzt bearbeitet:
@ALLE:

Bitte den Hinweis von mir aus #125 "Funktion "Expand Filesystem" nicht beachten solange es nicht probiert und ohne Fehler läuft.
Habe leider noch nicht den gewünschten Erfolg erzielt.

Danke
 
Etwa dazu? :mrgreen:
pi.jpg
Damit hat man einen Überblick und zwei Schaltmöglichkeiten für den Pi: Reboot und Shutdown.
 
Hallo,
Cool 8), genau so stelle ich mir das vor :D. Wie hast Du die Scripte den zusammengefasst (Takt/Temp/Reboot/shutdown)?

[EDIT]
OK, Reboot und Shutdown habe ich zusammenfassen können.
Anhang anzeigen 79895
Nur die Temperatur bekomme ich da nicht rein. Kann mir da jemand mal einen Tipp/Denkansatz geben? Stehe gerade mit beiden Hirnhälften und Füßen auf dem Schlauch...

Franky
 
Zuletzt bearbeitet von einem Moderator:
pseudopi.php
PHP:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                 RaspberryPI   |
		|   ===============================================================   |
		|   Shutdown                                              sashelper   |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	
	# In der folgenden Datei sind die Variablen der sashelper mit Pfadangaben
	# benannt, wie z. B.:
	# $helperurlpi='http://192.168.123.123/sensorandswitch/sensorandswitchhelper.php';
	include "conf/sensorandswitchhelperurl.phpconf";
	
	include "include/includedateien.php";
	include "include/includefunctions.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	include "include/includedefine.php";

	$befehl='sudo /usr/bin/vcgencmd measure_temp';
	$url=$helperurlpi."?befehl=".encodiere($befehl,33455);
	$Statustemp=web($url,$post);
	if ($Statustemp) {
		$befehl='sudo /usr/bin/vcgencmd measure_clock arm';
		$url=$helperurlpi."?befehl=".encodiere($befehl,33455);
		$Statustakt=web($url,$post);
		$befehl='sudo /usr/bin/vcgencmd measure_volts core';
		$url=$helperurlpi."?befehl=".encodiere($befehl,33455);
		$Statusvolt=web($url,$post);
		$befehl='sudo /usr/bin/vcgencmd measure_clock core';
		$url=$helperurlpi."?befehl=".encodiere($befehl,33455);
		$Statustaktc=web($url,$post);
		if ($Statustakt) {
			echo 'P#<div style="position:relative;top:-2px;font-size:14px;text-align:left;">CPU: '.number_format(sprintf('%.0f',(substr($Statustakt,strpos($Statustakt,"=")+1)*1/1000000)),0,",",".").' MHz<br />Temp: '.number_format((substr($Statustemp,5)*1),1,",",".").'°C</div><div style="position:absolute;top:-2px;font-size:14px;left:105px;text-align:left;">Core: '.number_format(sprintf('%.0f',(substr($Statustaktc,strpos($Statustaktc,"=")+1)*1/1000000)),0,",",".").' MHz<br />Core: '.number_format(sprintf('%.2f',(substr($Statusvolt,strpos($Statusvolt,"=")+1)*1/1)),2,",",".").' V</div><div style="position:absolute;top:-20px;font-size:14px;width:320px;"><a href="doitshutdownpi.php"><img src="'.picdesign("schalter0.png").'"></a></div><div style="position:absolute;top:-20px;font-size:14px;width:265px"><a href="doitrebootpi.php"><img src="'.picdesign("schalterr.png").'"></a></div>*HTML#';
		}
	}
	exit;
	
?>
Wenn es den Pi betrifft, auf dem sas läuft:
doitrebootpi.php
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                 RaspberryPI   |
        |   ===============================================================   |
        |   Reboot                                                sashelper   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    error_reporting(0);
    
    # In der folgenden Datei sind die Variablen der sashelper mit Pfadangaben
    # benannt, wie z. B.:
    # $helperurlpi='http://192.168.123.123/sensorandswitch/sensorandswitchhelper.php';
    include "conf/sensorandswitchhelperurl.phpconf";
    
    include "include/includedateien.php";
    include "include/includefunctions.php";
    include "include/includeconf.php";
    include "include/includeconfig.php";
    include "include/includedefine.php";
	include PIC."design.php";
	include PIC.DESIGN."design.php";

    $befehl='sudo shutdown -r now -t 3';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
	printf (
	   '<!DOCTYPE html>
		<html>
			<head>
				<meta charset="UTF-8">
				<meta http-equiv="X-UA-Compatible" content="IE=edge" />
				<meta http-equiv="refresh" content="70; url='.$Conf["EURL"].'" />
				<script type="text/javascript">
					function info(dauer){
						var Zeit = dauer +"s";
						document.getElementById("hgraktualisierung").innerHTML = Zeit;
						if (dauer != 0) {
							var dauer = dauer - 1;
						}
						window.setTimeout("info("+dauer+")",1000);
					}
				</script>
				<link rel="shortcut icon" href="'.PIC.'sensorandswitch.ico">
				<style type="text/css">
					/* CSS Browser-Default-Werte löschen */
					html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
						margin:0;
						padding:0;
						border:0;
						outline:0;
						font-size:100%%;
						vertical-align:baseline;
						background:transparent;
					}
					body {
						line-height:1;
					}
					ol, ul {
						list-style:none;
					}
					blockquote, q {
						quotes:none;
					}
					blockquote:before, blockquote:after, q:before, q:after {
						content:"";
						content:none;
					}
					:focus {
						outline:0;
					}
					ins {
						text-decoration:none;
							}
					del {
						text-decoration:line-through;
					}
					table {
						border-collapse:collapse;
						border-spacing:0;
					}
					/* CSS zum Zentrieren */
					#seite {
						display:table;
						overflow:hidden;
						margin:0px auto;
					}
					*:first-child+html #seite {
						position:relative;
					}
					* html #seite {
						position:relative;
					}
					#container {
						display:table-cell;
						vertical-align: middle;
					}
					*:first-child+html #container {
						position:absolute;
						top:50%%;
					}
					* html #container {
						position:absolute;
						top:50%%;
					}
					*:first-child+html #inhalt {
						position:relative;
						top:-50%%;
					}
					* html #inhalt {
						position:relative;
						top:-50%%;
					}
					html, body {
						height:100%%;
					}
					/* CSS des Inhalts */
					body { 
						margin:0; 
						padding:0; 
						font-family:"'.$schrift.'"; 
						color:'.$farbeschrift.';
						background-color:'.$farbehintergrund.';
						font-size:20px; 
					}
					#seite {
						height:100%%;
						width:800px;
					}
					#container {
						padding:0px;
					}
					img {
						display:initial;
					}
					img.block {
						display:block;
					}
					div {
						border:0px; 
						border-style:solid;
						border-color:white;
						text-align:center;
					}
					#rahmen {
						border-radius:20px;
						padding:15px;
						margin:15px;
						border:2px;
						border-style:solid;
						border-color:'.$farbeschrift.';
						color:'.$farbeschrift.';
						position:relative; 
						font-size:28px;
						text-align:center; 
						text-shadow:0px 0px 20px '.$farbebuttongluehen.',0px 0px 20px '.$farbebuttongluehen.',0px 0px 20px '.$farbebuttongluehen.';
					}
				</style>
			</head>
			<body>
				<div id="seite">
					<div id="container">
						<div id="inhalt">
							<div id="rahmen">SensorAndSwitch<br />RaspberryPI<br />Reboot läuft... <span id="hgraktualisierung"></span></div>
						
						</div>
					</div>
				</div>
				<script type="text/javascript">
					var nix = info(70);
				</script>
			</body>
		</html>');
    exit;
    
?>

doitshutdownpi.php
PHP:
´<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                 RaspberryPI   |
		|   ===============================================================   |
		|   Shutdown                                              sashelper   |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	
	# In der folgenden Datei sind die Variablen der sashelper mit Pfadangaben
	# benannt, wie z. B.:
	# $helperurlpi='http://192.168.123.123/sensorandswitch/sensorandswitchhelper.php';
	include "conf/sensorandswitchhelperurl.phpconf";
	
    include "include/includedateien.php";
    include "include/includefunctions.php";
    include "include/includeconf.php";
    include "include/includeconfig.php";
    include "include/includedefine.php";
	include PIC."design.php";
	include PIC.DESIGN."design.php";

    $befehl='sudo shutdown -h now -t 3';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
	printf (
	   '<!DOCTYPE html>
		<html>
			<head>
				<meta charset="UTF-8">
				<meta http-equiv="X-UA-Compatible" content="IE=edge" />
				<link rel="shortcut icon" href="'.PIC.'sensorandswitch.ico">
				<style type="text/css">
					/* CSS Browser-Default-Werte löschen */
					html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote,pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
						margin:0;
						padding:0;
						border:0;
						outline:0;
						font-size:100%%;
						vertical-align:baseline;
						background:transparent;
					}
					body {
						line-height:1;
					}
					ol, ul {
						list-style:none;
					}
					blockquote, q {
						quotes:none;
					}
					blockquote:before, blockquote:after, q:before, q:after {
						content:"";
						content:none;
					}
					:focus {
						outline:0;
					}
					ins {
						text-decoration:none;
							}
					del {
						text-decoration:line-through;
					}
					table {
						border-collapse:collapse;
						border-spacing:0;
					}
					/* CSS zum Zentrieren */
					#seite {
						display:table;
						overflow:hidden;
						margin:0px auto;
					}
					*:first-child+html #seite {
						position:relative;
					}
					* html #seite {
						position:relative;
					}
					#container {
						display:table-cell;
						vertical-align: middle;
					}
					*:first-child+html #container {
						position:absolute;
						top:50%%;
					}
					* html #container {
						position:absolute;
						top:50%%;
					}
					*:first-child+html #inhalt {
						position:relative;
						top:-50%%;
					}
					* html #inhalt {
						position:relative;
						top:-50%%;
					}
					html, body {
						height:100%%;
					}
					/* CSS des Inhalts */
					body { 
						margin:0; 
						padding:0; 
						font-family:"'.$schrift.'"; 
						color:'.$farbeschrift.';
						background-color:'.$farbehintergrund.';
						font-size:20px; 
					}
					#seite {
						height:100%%;
						width:800px;
					}
					#container {
						padding:0px;
					}
					img {
						display:initial;
					}
					img.block {
						display:block;
					}
					div {
						border:0px; 
						border-style:solid;
						border-color:white;
						text-align:center;
					}
					#rahmen {
						border-radius:20px;
						padding:15px;
						margin:15px;
						border:2px;
						border-style:solid;
						border-color:'.$farbeschrift.';
						color:'.$farbeschrift.';
						position:relative; 
						font-size:28px;
						text-align:center; 
					}
				</style>
			</head>
			<body>
				<div id="seite">
					<div id="container">
						<div id="inhalt">
							<div id="rahmen">SensorAndSwitch<br />RaspberryPI<br />Shutdown eingeleitet, Verbindung wurde beendet!</div>
						</div>
					</div>
				</div>
			</body>
		</html>');
    $Status=web($url,$post);

    exit;
	
?>

Wenn es ein anderer Pi ist:

doitrebootpi.php
PHP:
<?php

    /*
        +---------------------------------------------------------------------+
        |                                                                     |
        |   SensorAndSwitch Automation Pro                                    |
        |   PseudoGeräte-Script                                 RaspberryPI   |
        |   ===============================================================   |
        |   Reboot                                                sashelper   |
        |                                                                     |
        +---------------------------------------------------------------------+
    */

    error_reporting(0);
    
    # In der folgenden Datei sind die Variablen der sashelper mit Pfadangaben
    # benannt, wie z. B.:
    # $helperurlpi='http://192.168.123.123/sensorandswitch/sensorandswitchhelper.php';
    include "conf/sensorandswitchhelperurl.phpconf";
    
    include "include/includedateien.php";
    include "include/includefunctions.php";
    include "include/includeconf.php";
    include "include/includeconfig.php";
    include "include/includedefine.php";
	include PIC."design.php";
	include PIC.DESIGN."design.php";

    $befehl='sudo shutdown -r now -t 3';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
	header("Location: ".$Conf["EURL"]);

    exit;
    
?>

doitshutdownpi.php
PHP:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                 RaspberryPI   |
		|   ===============================================================   |
		|   Shutdown                                              sashelper   |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	
	# In der folgenden Datei sind die Variablen der sashelper mit Pfadangaben
	# benannt, wie z. B.:
	# $helperurlpi='http://192.168.123.123/sensorandswitch/sensorandswitchhelper.php';
	include "conf/sensorandswitchhelperurl.phpconf";
	
    include "include/includedateien.php";
    include "include/includefunctions.php";
    include "include/includeconf.php";
    include "include/includeconfig.php";
    include "include/includedefine.php";
	include PIC."design.php";
	include PIC.DESIGN."design.php";

    $befehl='sudo shutdown -h now -t 3';
    $url=$helperurlpi."?befehl=".encodiere($befehl,33455);
    $Status=web($url,$post);
	header("Location: ".$Conf["EURL"]);

    exit;
	
?>
Das sieht dann so aus:
pi2.jpg

sobald ich meine Edimax habe, kommt dann noch an/aus dazu. :)
 
Zuletzt bearbeitet:
Hallo,
:groesste::groesste:. Absolut geil. Mal schauen, ob ich es auch hinbekomme, einige Scripte zu verknüpfen.

Nur als Idee für Deine 1.50.00:
Die Dateien pseudofbf...php könnten ggf. im Reiter "Fritz" untergebracht werden? :noidea:

Franky
 
@JL3

Das ist ja prima!!

Nur bei mir stimmen die Icons dazu noch nicht. Schau mal:
pi1.PNG

Beim Classic und Standard Theme sind die Buttons auch etwas zu groß, vielleicht sind doch separate Icons dafür besser.
 
Hallo,
Ich denke, mit der nächsten Version wird er sicherlich die PNGs erneuern ;)
 
Jep, da gibt es die fehlenden, bzw. überarbeiteten Icons.

Allerdings verschiebt sich die 1.50, da ich momentan nicht dazu komme, was dran zu machen. Aber das Grundkonzept steht. ;)
 
Hallo,
:shock: Hattest Du einen Termin zugesagt? :gruebel: glaube nicht ... :hehe: Also lass Dir Zeit ;)
 
Hallo,
Mit Begeisterung habe in dieser Woche SaS auf meinem RaspberryPi installiert. Und ich habe mich gefragt ob es bereits ein pseudo Skript für folgende Idee gibt.

Ich würde gerne, wenn mein Smartphone sich im WLAN der 7390 anmeldet, dass sich das Licht DECT200 einschaltet. Habe mal nach Skripten gesucht welche Schaltsituationen auslösen wenn ein Netwerkgerät im Netz aktiv wird, aber ohne Erfolg.
Leider bin ich im Programmieren überhaupt nicht fit.

Wäre schön wenn Ihr mir helfen könntet

Schon mal vielen Dank und schönes Wochenende
 

Neueste Beiträge

Statistik des Forums

Themen
246,157
Beiträge
2,247,065
Mitglieder
373,677
Neuestes Mitglied
MK34
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.