SensorAndSwitch Haus-Automation auf Webserver-Basis

:lamer:
PHP:
<?php
if ($_GET["info"]=="status") {
$timeout = 1;
$ip = "snom1.fritz.box";
$port = "443";
$fp = @fsockopen($ip, $port, $timeout);
if($fp)
{
$Status="P#1*<img style='display:inline;top:-10px;' src='https://snom2/screen.bmp' height='24' alt='snom1'/>#";
}
else
{
$Status="P#0*Offline#";
}}
echo $Status;
?>

Sorry, ich habe was vergessen zu erwähnen: Einiges an S# T# W# usw. kann man auch mischen. Ich glaube, da kommt mit noch eine Idee.......
 
Apropos Technik...
Der Server kann auch nette Base64 Datenblöcke Strings verschicken,
die die Klenten dann lokal rendern müssen.
HTML:
data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMjAwMTA5MDQvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMtU1ZHLTIwMDEwOTA0L0RURC9zdmcxMC5kdGQiPg0KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4NCiAgPHRpdGxlPlNtaWxlPC90aXRsZT4NCiAgPGRlc2M+S29wZiBhdXMgS3JlaXNlbjwvZGVzYz4NCiAgICA8IS0tIGRlciBLb3BmIC0tPg0KICAgIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjEwMCIgcj0iODAiIGZpbGw9InllbGxvdyIgc3Ryb2tlPSJibGFjayIvPg0KICAgIDwhLS0gZGVyIFNtaWxlIC0tPg0KICAgIDxjaXJjbGUgY3g9IjEwMCIgY3k9IjEwMCIgcj0iNTUiIGZpbGw9ImJsYWNrIiBzdHJva2U9ImJsYWNrIi8+DQogICAgPGNpcmNsZSBjeD0iMTAwIiBjeT0iOTAiIHI9IjU1IiBmaWxsPSJ5ZWxsb3ciLz4NCiAgICA8IS0tIGRpZSBBdWdlbiAtLT4NCiAgICA8Y2lyY2xlIGN4PSI2NSIgY3k9IjcwIiByPSI1IiBmaWxsPSJibGFjayIvPg0KICAgIDxjaXJjbGUgY3g9IjEyNSIgY3k9IjcwIiByPSI1IiBmaWxsPSJibGFjayIvPg0KPC9zdmc+

Einfach kopieren und in der Adresszeile des Browsers ausführen.
Geht als Link, Weiterleitung, Image...
Eine meiner Leblingstechniken. :mrgreen:
...und in Verbindung mit gzip/deflate wirds noch "klientiger".
 
Zuletzt bearbeitet:
In der nächsten Version ist sowas machbar:

Zeigt Wetter an, dient aber auch als Temperatursensor

pseudowetter.php:
Code:
<?php

	/*
		+---------------------------------------------------------------------+
		|                                                                     |
		|   SensorAndSwitch Automation Pro                                    |
		|   PseudoGeräte-Script                                               |
		|   ===============================================================   |
		|   -> Wetter                                                         |
		|      openweathermap.org                                             |
		|      Informationen von obiger Homepage für den Ort, der             |
		|      anhand der in den Einstellungen eingelesenen Längen- und       |
		|      Breitengraden ermittelt wurde.                                 |
		|                                                                     |
		+---------------------------------------------------------------------+
	*/

	error_reporting(0);
	include "include/includedateien.php";
	include "include/includefunctions.php";
	include "include/includeconf.php";
	include "include/includeconfig.php";
	include "include/includedefine.php";
	$url="http://api.openweathermap.org/data/2.5/weather?lat=".BREITENGRAD."&lon=".LAENGENGRAD."&mode=xml&units=metric&lang=de";
	$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_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);
	if ($Status) {
		$Cont=simplexml_load_string($Status);
		$Temp=number_format(sprintf('%.2f',$Cont->temperature->attributes()->value),2,",",".");
		$Stadt=$Cont->city->attributes()->name;
		$Symbol='<img src="http://openweathermap.org/img/w/'.$Cont->weather->attributes()->icon.'.png">';
		$Wetter=$Cont->weather->attributes()->value;
		echo "T#".sprintf('%.2f',$Cont->temperature->attributes()->value)."#P#".'<div style="font-size:14px;text-align:left;width:310px;position:relative;top:-20px;">'.$Symbol.'</div><div style="font-size:14px;text-align:left;width:310px;position:relative;top:-30px;left:0px;">'.$Wetter.'</div><div  style="text-align:right;width:310px;position:relative;top:-65px;">'.'Temperatur: '.$Temp.'°C</div>'."*HTML#";
	}
	else {
		echo "T##P##E##";
	}
	exit;
?>

P# hat bei der Anzeige im WebGUI immer Vorrang. Man kann nun alle Sensor- und Schaltertypen in einem Gerät kombinieren. :)
 
Zuletzt bearbeitet:
Zuletzt bearbeitet:
Was ist mit WOL (Wake On LAN)?

Als Option zum Einschalten eines PC's ...
 
Klaro, geht mit ether-wake...
wol.sh
Code:
#!/bin/sh
wol () {
local BB='env -i PATH=/var/media/ftp/SanDisk-Cruzer-01/bin'
local CMD='ether-wake'
local MAC='MA:CM:AC:MA:CM:AC'
local INTF='-i lan'
$BB $CMD $INTF $MAC
echo $1': '${MAC}
}
wol 'Computer startet'
#EOF

Also: shell_exec('ether-wake -i lan MA:CM:AC:MA:CM:AC');
Und: Das geht von jeden Gastsystem (CGI/PHP-Webserver), dass muss
nicht die Fritz!Box sein. ;)
Aber, nicht vergessen: Die wenigsten Geräte können: Wake over WLAN :banned:
(WLAN Gerät aus dem Standby aufwecken)
 
Zuletzt bearbeitet:
Mit WOL hatte ich schon lustige Erfahrungen. Ob das läuft, hängt vom BIOS ab, welche "Schlafstufe" eingestellt ist. Dann vom LAN-Adapter und den z. B. Windows Treibereinstellungen. Muss oft auch da noch "freigeschaltet" werden, sonst fährt Windows beim Runterfahren energisch den Adapter runter, egal was im BIOS stand.

Zur "Schlafstufe" ein paar Infos: http://de.wikipedia.org/wiki/Advanced_Configuration_and_Power_Interface S0-S5
 
In der nächsten Version ist sowas machbar:

Zeigt Wetter an, dient aber auch als Temperatursensor


ähnliches hatte ich gestern schon mal mit dem Benzinpreis gemacht.
eine 2. echo Zeile wo ich den Benzinpreis als Temperatur angegeben hab.
funktioniert hat das, nur die Anzeige kam etwas durcheinander.
müsste die 2. echo Zeile unsichtbar machen.
aber wer schaltet schon mit dem Benzinpreis??
 
@ws65: Nun, jetzt wird wenn eine P# existiert nur diese angezeigt. T# W# sind aber auswertbar und S# zusätzlich möglich. Dadurch bleibt das Display ordentlich. :)

-PseudoGeräte.Zusatzpakete im Web eingestellt.
 
Was man auch probieren könnte ist ein Amazon Fire TV kostet 99 Euro, hat mächtig Bums und geringste Leistungsaufnahme!!! - Wenn ich die Zweit und ein Gerät finde werde ich das zwischen den Feiertagen probieren. Sollte unter Android ja auch alles laufen.

wurde bei Amazon jetzt zu Weihnachten auf 84€ reduziert ....
 
Zuletzt bearbeitet:
Neue Version 1.00.0844
weitere Infos im
SensorAndSwitch Web
  • [0844] Verwendung von "pseudodisplay..." im Namen von Geräten, zeigt diese nur in der WebGUI an, sperrt sie aber für die Automationsverwendung.
  • [0844] Fehlerkorrektur bei PseudoGeräten, die mit P# Sensorwerte liefern.
 
...
Ich habe den Admin mal angeschrieben ob wir nicht gleich einen eigenen Bereich bekommen können, dann sind mehrere threads und die 3 von Dir erwähnten als gepinnte Version kein Ding mehr ...
Hat sich da irgendwas getan?
 
leider nein! Ich habe schon gangdalf auch noch mal angeschrieben. Wäre wirklich schön wenn wir ein wenig Struktur rein bekommen würden .. melde mich natürlich sofort ...
 
Okay, danke. gangdalf hat schon seit Wochen eine ungelesene PN von mir wegen einer anderen Sache, die die Forentechnik betrifft. Er scheint schon länger nicht wirklich online zu sein. Na, egal. Warten wir es ab. :)
 
Sorry, wenn ich nochmal posten muss, aber kann wer mal das SaS Web sich anschauen, ob er Fehler findet. Langsam werde ich da "betriebsblind". Wenn wo falsche Dinge stehen oder noch Sachen von SmartHome oder wenn Infos fehlen, bitte posten. :)
 
Okay, danke. gangdalf hat schon seit Wochen eine ungelesene PN von mir wegen einer anderen Sache, die die Forentechnik betrifft. Er scheint schon länger nicht wirklich online zu sein. Na, egal. Warten wir es ab. :)

doch ist online, liest aber wohl nichts ... ich schreibe mal die ganze Admin crew an ... muss doch mal einer aufwachen ...
 
Abend

sensorandswitchautopro.php
Schreibfehler: Such mal nach: Temeratur
 
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.