Eigenes WebInterface für Studio unter PHP
Moderator: Co-Administratoren
-
- Beiträge: 10
- Registriert: 09.05.2008, 15:31
Re: Eigenes WebInterface für Studio unter PHP
hallo zusammen,
hab alle notwendige software, webserver funktioniert einwandfrei, studiosoftware drauf, php und alles nötige auch.
meine frage war nur, es läauft alles auf einer maschine, wie krieg ich das ganze zusammen um mit php zu arbeiten, das will irgendwie nicht in meinen schädel.
gruß caveman
einfach die grobe richtung, vermutlich recht einfach für euch.
danke
hab alle notwendige software, webserver funktioniert einwandfrei, studiosoftware drauf, php und alles nötige auch.
meine frage war nur, es läauft alles auf einer maschine, wie krieg ich das ganze zusammen um mit php zu arbeiten, das will irgendwie nicht in meinen schädel.
gruß caveman
einfach die grobe richtung, vermutlich recht einfach für euch.
danke
-
- Beiträge: 6693
- Registriert: 19.03.2007, 08:21
- Danksagung erhalten: 2 Mal
Re: Eigenes WebInterface für Studio unter PHP
Ich verstehe Deine Frage nicht, was willst Du denn eigentlich?caveman_1966 hat geschrieben:meine frage war nur, es läauft alles auf einer maschine, wie krieg ich das ganze zusammen um mit php zu arbeiten, das will irgendwie nicht in meinen schädel.
Daß alles auf einer Maschine läuft, ist so OK, mit PHP kann man eben von aussen (Internet) per Web auf die Kiste zugreifen und z.B. irgendwelche Inhalte reinschreiben (Beispiel Gästebuch oder so...)
Gruß - Toni
KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ
KS300 + Sonnendauer + Windrichtung, KS888, HM-CC-TC/HM-CC-VD, FHT80b, und etwas FS20-xx, Keymatic, EM1000, CCU2 und FHZ2000 sowie HP Studio, HPCL + Upgrade für FHZ
-
- Beiträge: 10
- Registriert: 09.05.2008, 15:31
Re: Eigenes WebInterface für Studio unter PHP
hallo,
meine frage ist einfach, ich will eine eigene page für die fhz.
die page ist auch nicht das problem, wie oder welche funktionen brauche ich, damit meine php´s mit der studiosoftware "reden".
das ist das einzige wo ich einfach was nicht begreife.
welche software muß laufen damit das ganze hand in hand läuft.
hab die erklärung eingangs zig mal gelesen, irgend etwas übersehen ich vermutlich.
danke
meine frage ist einfach, ich will eine eigene page für die fhz.
die page ist auch nicht das problem, wie oder welche funktionen brauche ich, damit meine php´s mit der studiosoftware "reden".
das ist das einzige wo ich einfach was nicht begreife.
welche software muß laufen damit das ganze hand in hand läuft.
hab die erklärung eingangs zig mal gelesen, irgend etwas übersehen ich vermutlich.
danke
Re: Eigenes WebInterface für Studio unter PHP
Hallo caveman,
ich verstehe Dein Begehren, nicht aber Deine Frage. Shen hat alle Deine Fragen im Start-Artikel dieses Thread's ausführlich dargestellt, inclusive aller notwendigen Voraussetzungen, sogar eine kleine Bibliothek zum direkten Zugriff auf Studio-Objekte hat er veröffentlicht:
Das bei Dir der WEB-Server auf der gleichen Maschine läuft, wie Homeputer-Studio, tut der Sache keinen Abbruch, shen's Lösung funktioniert auch für diesen Spezialfall.
Wenn Du diese Lösung aber nicht verwenden WILLST, dann bleibt Dir nur über PHP-Befehle direkt das externe Programm ExecStudioCo mit den notwendigen Kommandozeilenparametern aufzurufen. Das geht aber nur, wenn (wie bei Dir) der WEB-Server auf der gleichen Maschine läuft, wie Homeputer-Studio.
Gruss
Thomas
ich verstehe Dein Begehren, nicht aber Deine Frage. Shen hat alle Deine Fragen im Start-Artikel dieses Thread's ausführlich dargestellt, inclusive aller notwendigen Voraussetzungen, sogar eine kleine Bibliothek zum direkten Zugriff auf Studio-Objekte hat er veröffentlicht:
Du brauchst den Beitrag nur aufmerksam zu lesen. Sollten dann KONKRETE Fragen anfallen, können wir auch konkret helfen.Shen hat geschrieben:- GetStudio() fragt den Zustand eines Objektes ab
- GetStudioArray() fragt den Zustand mehrerer Objekte mit nur einem Aufruf von ExecStudio ab
- SetStudio() setzt den Zustand eines Objektes
- RunStudio() führt ein Makro aus
Das bei Dir der WEB-Server auf der gleichen Maschine läuft, wie Homeputer-Studio, tut der Sache keinen Abbruch, shen's Lösung funktioniert auch für diesen Spezialfall.
Wenn Du diese Lösung aber nicht verwenden WILLST, dann bleibt Dir nur über PHP-Befehle direkt das externe Programm ExecStudioCo mit den notwendigen Kommandozeilenparametern aufzurufen. Das geht aber nur, wenn (wie bei Dir) der WEB-Server auf der gleichen Maschine läuft, wie Homeputer-Studio.
Gruss
Thomas
Zuletzt geändert von tsa am 21.03.2009, 06:33, insgesamt 1-mal geändert.
Re: Eigenes WebInterface für Studio unter PHP
Hallo FHZ-Gemeinde
ich habe ein kleines Problem mit dem selbstgebauten WebInterface.
So weit funktioniert das WebInterface sehr gut nur ab und zu habe ich die Fehlermeldung im Browser
"Warning: fsockopen() [function.fsockopen]: unable to connect to 192.168.0.92:54711 (Ein Socketvorgang konnte nicht ausgeführt werden, da dem System Pufferspeicher fehlte oder eine Warteschlange voll war. ) in C:\Programme\xampp\htdocs\admin\FS20\studio.inc.php4 on line 65
Fehler beim Einlesen"
Ich bekomme den Fehler nur weg in dem ich die Studiosoftware neustarte.
Kennt zufällig einer das Problem oder eine Idee was das sein könnte ?
Ich habe auch mal das HTML-Script beigefügt und ein Screenshot von der Webseite wie der Bau von der Webseite bis jetzt aussieht.
MFG
Teas1512
ich habe ein kleines Problem mit dem selbstgebauten WebInterface.
So weit funktioniert das WebInterface sehr gut nur ab und zu habe ich die Fehlermeldung im Browser
"Warning: fsockopen() [function.fsockopen]: unable to connect to 192.168.0.92:54711 (Ein Socketvorgang konnte nicht ausgeführt werden, da dem System Pufferspeicher fehlte oder eine Warteschlange voll war. ) in C:\Programme\xampp\htdocs\admin\FS20\studio.inc.php4 on line 65
Fehler beim Einlesen"
Ich bekomme den Fehler nur weg in dem ich die Studiosoftware neustarte.
Kennt zufällig einer das Problem oder eine Idee was das sein könnte ?
Ich habe auch mal das HTML-Script beigefügt und ein Screenshot von der Webseite wie der Bau von der Webseite bis jetzt aussieht.
Code: Alles auswählen
<head>
<base target="_self">
</head>
<html><body>
<body style="background-image:url(Erdgeschoss.jpg); background-attachment:scroll; background-repeat:no-repeat; margin:30px; solid #CCCCFF; font-size:100%;">
<meta http-equiv="refresh" content="120">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
</body></html>
<?php
include("studio.inc.php4");
// ----------------------------------------------------------------------------
// Statustabelle
// ----------------------------------------------------------------------------
$data = GetStudioArray("Uhr,
Aussenlampe,
Daemmerungssensor1,
Daemmerungssensor2,
Lampe_Flur,
Lampe_Durchgang,
Lampe_Esszimmer,
Rollade_Kueche,
Rollade_Wohnzimmer_Links,
Rollade_Wohnzimmer_Rechts,
Tuerkontakt_Eingang2,
HTPC") or die("<br><b>Fehler beim Einlesen");
echo "<table border='2' width='370' Style='position: absolute; left: 10; top:575; Font-size: 14px'> \n";
foreach($data as $objekt => $wert) {
echo "<tr><td>$objekt</td><td>$wert</td></tr> \n";
}
echo "</table><br> \n";
// ----------------------------------------------------------------------------
// Aussenlicht Ein und ausschalten
// ----------------------------------------------------------------------------
$data = GetStudioArray("Aussenlampe") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<a href=aussenlicht.php><img border=0 src=lampe_ein_90.jpg width='30' height='26' align='right' style='position: absolute; left: 746; top: 145'alt=Aussenlicht_ein></a> \n";
} else {
echo "<a href=aussenlicht.php><img border=0 src=lampe_aus_90.jpg width='30' height='26' align='right' style='position: absolute; left: 746; top: 145'alt=Aussenlicht_aus></a> \n";
};
// ----------------------------------------------------------------------------
// Dämmerungssensor 1
// ----------------------------------------------------------------------------
$data = GetStudioArray("Daemmerungssensor1") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<img border=0 src=mond.jpg width='30' height='30' align='right' style='position: absolute; left: 35; top: 70'alt=Dämmerungssensor_1> \n";
} else {
echo "<img border=0 src=sonne.jpg width='30' height='30' align='right' style='position: absolute; left: 35; top: 70'alt=Dämmerungssensor_1> \n";
}
// ----------------------------------------------------------------------------
// Dämmerungssensor 2
// ----------------------------------------------------------------------------
$data = GetStudioArray("Daemmerungssensor2") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<img border=0 src=mond.jpg width='30' height='30' align='right' style='position: absolute; left: 35; top: 100'alt=Dämmerungssensor_2> \n";
} else {
echo "<img border=0 src=sonne.jpg width='30' height='30' align='right' style='position: absolute; left: 35; top: 100'alt=Dämmerungssensor_2> \n";
}
// ----------------------------------------------------------------------------
// Haustür
// ----------------------------------------------------------------------------
$data = GetStudioArray("Tuerkontakt_Eingang2") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==offen){
echo "<img border=0 src=Tuer_auf.jpg width='45' height='45' align='right' style='position: absolute; left: 720; top: 90'alt=Haustür_offen> \n";
} else {
echo "<img border=0 src=Tuer_zu.jpg width='45' height='45' align='right' style='position: absolute; left: 720; top: 90'alt=Haustür_geschlossen> \n";
}
// ----------------------------------------------------------------------------
// Highboard Wohnzimmer (Schaltersteckdose2)
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schaltsteckdose2") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<img border=0 src=birne_ein.jpg width='12' height='18' align='right' style='position: absolute; left: 374; top: 41'alt=Schaltersteckdose_2> \n";
} else {
echo "<img border=0 src=birne_aus.jpg width='12' height='18' align='right' style='position: absolute; left: 374; top: 41'alt=Schaltersteckdose_2> \n";
}
// ----------------------------------------------------------------------------
// Stehlampe Wohnzimmer (Schaltersteckdose3)
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schaltsteckdose3") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<img border=0 src=stehlampe_ein.jpg width='15' height='25' align='right' style='position: absolute; left: 254; top: 305'alt=Stehlampe_Wohnzimmer> \n";
} else {
echo "<img border=0 src=stehlampe_aus.jpg width='15' height='25' align='right' style='position: absolute; left: 254; top: 305'alt=Stehlampe_Wohnzimmer> \n";
}
// ----------------------------------------------------------------------------
// Rollade Wohnzimmer links
// ----------------------------------------------------------------------------
$data = GetStudioArray("Rollade_Wohnzimmer_links") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==oben){
echo "<img border=0 src=rollade_oben.jpg width='40' height='40' align='right' style='position: absolute; left: 225; top: 235'alt=Rollade_Wohnzimmer_Rechts> \n";
}
if($wert==unten){
echo "<img border=0 src=rollade_unten.jpg width='40' height='40' align='right' style='position: absolute; left: 225; top: 235'alt=Rollade_Wohnzimmer_Rechts> \n";
}
if($wert==halb){
echo "<img border=0 src=rollade_halb.jpg width='40' height='40' align='right' style='position: absolute; left: 225; top: 235'alt=Rollade_Wohnzimmer_Rechts> \n";
}
// ----------------------------------------------------------------------------
// Rollade Wohnzimmer rechts
// ----------------------------------------------------------------------------
$data = GetStudioArray("Rollade_Wohnzimmer_rechts") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==oben){
echo "<img border=0 src=rollade_oben.jpg width='40' height='40' align='right' style='position: absolute; left: 225; top: 120'alt=Rollade_Wohnzimmer_Links> \n";
}
if($wert==unten){
echo "<img border=0 src=rollade_unten.jpg width='40' height='40' align='right' style='position: absolute; left: 225; top: 120'alt=Rollade_Wohnzimmer_Links> \n";
}
if($wert==halb){
echo "<img border=0 src=rollade_halb.jpg width='40' height='40' align='right' style='position: absolute; left: 225; top: 120'alt=Rollade_Wohnzimmer_Links> \n";
}
// ----------------------------------------------------------------------------
// Rollade Kueche
// ----------------------------------------------------------------------------
$data = GetStudioArray("Rollade_kueche") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==oben){
echo "<img border=0 src=rollade_oben.jpg width='40' height='40' align='right' style='position: absolute; left: 720; top: 252'alt=Rollade_Wohnzimmer_Links> \n";
}
if($wert==unten){
echo "<img border=0 src=rollade_unten.jpg width='40' height='40' align='right' style='position: absolute; left: 720; top: 252'alt=Rollade_Küche> \n";
}
if($wert==halb){
echo "<img border=0 src=rollade_halb.jpg width='40' height='40' align='right' style='position: absolute; left: 720; top: 252'alt=Rollade_Wohnzimmer_Links> \n";
}
// ----------------------------------------------------------------------------
// Licht Wohnzimmerlicht Ein und ausschalten
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schalter_Wohnzimmer1") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<a href=Wohnzimmerlicht.php><img border=0 src=schalter_ein.jpg width='15' height='15' align='right' style='position: absolute; left: 396; top: 157'alt=Schalter_Wohnzimmerlicht></a> \n";
} else {
echo "<a href=Wohnzimmerlicht.php><img border=0 src=schalter_aus.jpg width='15' height='15' align='right' style='position: absolute; left: 396; top: 157'alt=Schalter_Wohnzimmerlicht></a> \n";
};
// ----------------------------------------------------------------------------
// Licht im Esszimmer Ein und ausschalten (Schalter_Wohnzimmer2)
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schalter_Wohnzimmer2") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<a href=esszimmerlicht.php><img border=0 src=schalter_ein.jpg width='15' height='15' align='right' style='position: absolute; left: 396; top: 139'alt=Schalter_Esszimmerlicht></a>";
} else {
echo "<a href=esszimmerlicht.php><img border=0 src=schalter_aus.jpg width='15' height='15' align='right' style='position: absolute; left: 396; top: 139'alt=Schalter_Essziimmerlicht></a>";
};
// ----------------------------------------------------------------------------
// Licht im Flur Ein und ausschalten (Schalter_Eingang2)
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schalter_Eingang2") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<a href=Flurlicht.php><img border=0 src=schalter_ein.jpg width='15' height='15' align='right' style='position: absolute; left: 722; top: 138'alt=Schalter_Flurlicht></a>";
} else {
echo "<a href=Flurlicht.php><img border=0 src=schalter_aus.jpg width='15' height='15' align='right' style='position: absolute; left: 722; top: 138'alt=Schalter_Flurlicht></a>";
};
// ----------------------------------------------------------------------------
// Licht im Esszimmer Ein und ausschalten (Schalter_Flur_Esszimmer1)
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schalter_Flur_Esszimmer1") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<a href=esszimmerlicht.php><img border=0 src=schalter_ein.jpg width='15' height='15' align='right' style='position: absolute; left: 566; top: 126'alt=Schalter_Esszimmerlicht></a>";
} else {
echo "<a href=esszimmerlicht.php><img border=0 src=schalter_aus.jpg width='15' height='15' align='right' style='position: absolute; left: 566; top: 126'alt=Schalter_Essziimmerlicht></a>";
};
// ----------------------------------------------------------------------------
// Licht im Duchgang Ein und ausschalten (Schalter_Flur_Esszimmer2)
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schalter_Flur_Esszimmer2") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<a href=duchgang.php><img border=0 src=schalter_ein.jpg width='15' height='15' align='right' style='position: absolute; left: 581; top: 126'alt=Schalter_Licht_Durchgang></a>";
} else {
echo "<a href=duchgang.php><img border=0 src=schalter_aus.jpg width='15' height='15' align='right' style='position: absolute; left: 581; top: 126'alt=Schalter_Licht_Durchgang></a>";
};
// ----------------------------------------------------------------------------
// Licht im Flur Ein und ausschalten (Schalter_Flur_Esszimmer3)
// ----------------------------------------------------------------------------
$data = GetStudioArray("Schalter_Flur_Esszimmer3") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<a href=Flurlicht.php><img border=0 src=schalter_ein.jpg width='15' height='15' align='right' style='position: absolute; left: 596; top: 126'alt=Schalter_Flurlicht></a>";
} else {
echo "<a href=Flurlicht.php><img border=0 src=schalter_aus.jpg width='15' height='15' align='right' style='position: absolute; left: 596; top: 126'alt=Schalter_Flurlicht></a>";
};
// ----------------------------------------------------------------------------
// Lampe im Flur
// ----------------------------------------------------------------------------
$data = GetStudioArray("Lampe_Flur") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==0){
echo "<img border=0 src=birne_aus.jpg width='20' height='20' align='right' style='position: absolute; left: 630; top: 52'alt=Flurlampe>";
} else {
echo "<img border=0 src=birne_ein.jpg width='20' height='20' align='right' style='position: absolute; left: 630; top: 52'alt=Flurlampe>";
};
// Wert anzeigen
if($wert==0){
} else {
echo "<table border='0' Style='position: absolute; left: 632; top:67; Font-size: 10px'></td><td>$wert</td></tr>";
}
// ----------------------------------------------------------------------------
// Lampe im Esszimmer
// ----------------------------------------------------------------------------
$data = GetStudioArray("Lampe_Esszimmer") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==0){
echo "<img border=0 src=birne_aus.jpg width='20' height='20' align='right' style='position: absolute; left: 481; top: 231'alt=Esszimmerlampe>";
} else {
echo "<img border=0 src=birne_ein.jpg width='20' height='20' align='right' style='position: absolute; left: 481; top: 231'alt=Esszimmerlampe>";
};
// Wert anzeigen
if($wert==0){
} else {
echo "<table border='0' Style='position: absolute; left: 483; top:246; Font-size: 10px'></td><td>$wert</td></tr>";
}
// ----------------------------------------------------------------------------
// Lampe im Duchgang
// ----------------------------------------------------------------------------
$data = GetStudioArray("Lampe_Durchgang") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==0){
echo "<img border=0 src=birne_aus.jpg width='15' height='15' align='right' style='position: absolute; left: 560; top: 95'alt=Licht_Duchgang>";
} else {
echo "<img border=0 src=birne_ein.jpg width='15' height='15' align='right' style='position: absolute; left: 560; top: 95'alt=Licht_Duchgang>";
};
// Wert anzeigen
if($wert==0){
} else {
echo "<table border='0' Style='position: absolute; left: 560; top:107; Font-size: 8px'></td><td>$wert</td></tr>";
}
// ----------------------------------------------------------------------------
// Anwesenheitssimulation
// ----------------------------------------------------------------------------
$data = GetStudioArray("Anwesenheitssimulation") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
echo "<table border='0' Style='position: absolute; left: 420; top:360; Font-size: 14px'> \n";
echo "<tr><td>";
if($wert==an){
echo "<a href=Anwesenheitssimulation.php><img border=0 src=button_ok.jpg width='15' height='15' alt=Anwesenheitssimulation_ein></a>";
} else {
echo "<a href=Anwesenheitssimulation.php><img border=0 src=button_cancel.jpg width='15' height='15' alt=Anwesenheitssimulation_aus></a>";
};
echo "<td><td>Anwesenheitssimulation<tr><td></table>\n";
// ----------------------------------------------------------------------------
// Termin
// ----------------------------------------------------------------------------
$data = GetStudioArray("termine") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
$wert = ereg_replace("<<","<br>",$wert);
$wert = ereg_replace("Verpasste Termine:","<B>Verpasste Termine:</B>",$wert);
$wert = ereg_replace("Heutige Termine:","<B>Heutige Termine:</B>",$wert);
$wert = ereg_replace("Künftige Termine:","<B>Künftige Termine:</B>",$wert);
echo "<table border='2' width='370' Style='position: absolute; left: 420; top:400; Font-size: 14px'> \n";
echo "<tr><td><B><center>Termine</b></center><tr><td>$wert\n </table>";
// ----------------------------------------------------------------------------
// Letzte 10 Aktivitäten
// ----------------------------------------------------------------------------
$data = GetStudioArray("loganzeige") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
$wert = ereg_replace("<<","<br>",$wert);
echo "<table border='2' width='370' Style='position: absolute; left: 10; top:360; Font-size: 14px'> \n";
echo "<tr><td><B><center>Die Letzten 10 Aktivitäten </b></center><tr><td>$wert\n </table>";
// ----------------------------------------------------------------------------
// Status HTPC
// ----------------------------------------------------------------------------
$data = GetStudioArray("HTPC") or die("<br><b>Fehler beim Einlesen");
foreach($data as $objekt => $wert)
if($wert==an){
echo "<img border=0 src=computer_ein.jpg width='20' height='20' align='right' style='position: absolute; left: 276; top: 311'alt=HTPC_eingeschaltet> \n";
} else {
echo "<img border=0 src=computer_aus.jpg width='20' height='20' align='right' style='position: absolute; left: 276; top: 311'alt=HTPC_ausgeschaltet> \n";
}
?>
Teas1512
Re: Eigenes WebInterface für Studio unter PHP
Hallo FHZ-Gemeinde
ich habe den zuvor beschriebenen Fehler gefunden. Es lag an dem Netzwerkmonitor. Ich hatte den Ausführungsintervall auf 1 Minute gestellt.
Mir ist aufgefallen das der Fehler meistens nur dann auftauchte wenn ein Teilnehmer im Netzwerk länger Zeit nicht erreichbar war. Dann habe ich den Ausführungsintervall auf 5 Minuten geändert und er Fehler ist nie wieder aufgetreten.
Gruss
Stephan
ich habe den zuvor beschriebenen Fehler gefunden. Es lag an dem Netzwerkmonitor. Ich hatte den Ausführungsintervall auf 1 Minute gestellt.
Mir ist aufgefallen das der Fehler meistens nur dann auftauchte wenn ein Teilnehmer im Netzwerk länger Zeit nicht erreichbar war. Dann habe ich den Ausführungsintervall auf 5 Minuten geändert und er Fehler ist nie wieder aufgetreten.
Gruss
Stephan
Re: Eigenes WebInterface für Studio unter PHP
Hallo,
hätte da mal eine Frage, kann man und wenn ja, das ganze auch per vb(a) machen?
Danke für Eure Hilfe.
MfG
Maik
hätte da mal eine Frage, kann man und wenn ja, das ganze auch per vb(a) machen?
Danke für Eure Hilfe.
MfG
Maik
Re: Eigenes WebInterface für Studio unter PHP
Hallo,
nach dem ich mein HomeputerStudio jetzt ca. 1,5 Jahre am laufen hatte und immer wieder erweitert hatte habe ich mich jetzt mal wieder mit dem Aktivieren der Heizung an die nächste Ausbaustufe gemacht. Und das Webinterface eingerichtet. Meine Lösung sieht ähnlich aus wie Teas1512.
Ausschnitt aus der Webseite:
Beim anklicken der "Lampe" wird schalten.php aufgerufen und der Objektname, der zu schaltende Zustand und der Link zurück zur aufrufenden Seite übergeben.
die Datei "schalten.php"
Das klappt auch wirklich super, ich bin begeistert.
Jetzt hab ich aber ein Problem beim Schalten der Rollladen.
Oh nein ich hab das Problem gefunden.
Beim Schreiben hier ist es mir wie Schuppen von den Augen gefallen.
Wenn ich es dann im Reinen habe werde ich es Posten.
Gruß
Markus
nach dem ich mein HomeputerStudio jetzt ca. 1,5 Jahre am laufen hatte und immer wieder erweitert hatte habe ich mich jetzt mal wieder mit dem Aktivieren der Heizung an die nächste Ausbaustufe gemacht. Und das Webinterface eingerichtet. Meine Lösung sieht ähnlich aus wie Teas1512.
Ausschnitt aus der Webseite:
Code: Alles auswählen
<?php
include("studio.inc.php");
$link = $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
$wert = GetStudio("ST_Sideboard") or die("<br><b>Fehler beim Einlesen");
if($wert=="an")
{
echo "<a href=schalten.php?o=ST_Sideboard&s=aus&r=".$link."><img border=0 src='png/LAMPST3E.png' align='right' style='position: absolute; left: 830; top: 470'alt=ST_Sideboard></a> \n";
} else
{
echo "<a href=schalten.php?o=ST_Sideboard&s=an&r=".$link."><img border=0 src='png/LAMPST3A.png' align='right' style='position: absolute; left: 830; top: 470'alt=ST_Sideboard></a> \n";
}
?>
die Datei "schalten.php"
Code: Alles auswählen
<?php
include("studio.inc.php");
$status = $_GET["s"];
$objekt = $_GET["o"];
$link = $_GET["r"];
SetStudio($objekt,$status);
header("Location: http://".$link); /* Redirect browser */
/* Make sure that code below does not get executed when we redirect. */
exit;
?>
Jetzt hab ich aber ein Problem beim Schalten der Rollladen.
Oh nein ich hab das Problem gefunden.
Beim Schreiben hier ist es mir wie Schuppen von den Augen gefallen.
Wenn ich es dann im Reinen habe werde ich es Posten.
Gruß
Markus
-
- Beiträge: 312
- Registriert: 11.01.2008, 14:41
- System: Alternative CCU (auf Basis OCCU)
- Hat sich bedankt: 33 Mal
- Danksagung erhalten: 20 Mal
Re: Eigenes WebInterface für Studio unter PHP
Hallo Zusammen,
ich komme nicht weiter und brauche fachmännische Hilfe.
Folgenden php-Code habe ich zur Steuerung via Geofency erstellt und läuft auf einem Webserver.
Die Auswertung des Webhook funktioniert. Nur gibt das Script den Befehl zum Ausführen des Makros nicht weiter. Wenn ich über die Konsole ClientExecStudio mit dem Makronamen ausführe, funktioniert es.
Folglich liegt wohl irgendwo ab "function RunStudio($macro)" der Fehler. Die Datei ClientExecStudio.exe liegt im gleichen Verzeichnis wie die php-Datei.
Ich bin Anfänger was php betrifft und mir ist unverständlich, wie das Script die ClientExecStudio.exe aufruft und die Parameter übergibt.
Jetzt hab ich mal testweise das Script von Shen 1:1 übernommen (natürlich mit den Daten meiner Studio): funktioniert auch nicht. Aus irgend einem Grund werden die Befehle RunStudio, etc. nicht ausgeführt. Wo liegt mein Fehler? Müssen die ClientExecStudio.exe und ClientExecStudio.ini in einem bestimmten Verzeichnis liegen?
ich komme nicht weiter und brauche fachmännische Hilfe.
Folgenden php-Code habe ich zur Steuerung via Geofency erstellt und läuft auf einem Webserver.
Code: Alles auswählen
<?php
// Incoming POST parameters provided by Geofency.
// Extract parameters from http request (using “_POST”).
// $date is a rfc3339 formatted date in the form: yyyy-MM-ddTHH:mm:ssZ
$studio_server = "192.168.178.24"; // IP oder Hostname des Servers
$studio_port = 54231; // Port des Servers
$studio_timeout = 10; // Timeout in Sekunden
$studio_password = "Geheim"; // Passwort für ServerExecStudio
$date=$_POST["date"];
$isEntry=($_POST["entry"] == "1");
$locationName=$_POST["name"];
$locationID=$_POST["id"];
$longitude=$_POST["longitude"];
$latitude=$_POST["latitude"];
$macro = "WAC_Alarm_aus";
$macro2 = "WAC_Alarm_ein";
if ($isEntry)
$out = date('Y-m-d H:i:s') . " entryDate: " . $date . ", entered at " . $locationName . "\n";
else
$out = date('Y-m-d H:i:s') . " exitDate: " . $date . ", exited at " . $locationName . "\n";
echo $out;
$filename = "geofency2.log";
file_put_contents($filename, $out, FILE_APPEND | LOCK_EX);
// Ausführung des jeweiligen Makros
if ($isEntry)
{
function RunStudio($macro) {
global $studio_server, $studio_port, $studio_timeout, $studio_password;
if ($socket = fsockopen($studio_server, $studio_port, $errno, $errstr, $studio_timeout)) {
fputs($socket, trim("$studio_password r$macro") ."\r\n");
$data = trim(fgets($socket));
fclose($socket);
if ((substr($data, 0, 5) != "Error") and (substr($data, 0, 13) != "access denied")) {
return(true);
} else {
return(false);
}
} else {
return(false);
}
}
}
else
{
function RunStudio($macro2) {
global $studio_server, $studio_port, $studio_timeout, $studio_password;
if ($socket = fsockopen($studio_server, $studio_port, $errno, $errstr, $studio_timeout)) {
fputs($socket, trim("$studio_password r$macro2") ."\r\n");
$data = trim(fgets($socket));
fclose($socket);
if ((substr($data, 0, 5) != "Error") and (substr($data, 0, 13) != "access denied")) {
return(true);
} else {
return(false);
}
} else {
return(false);
}
}
}
?>
Folglich liegt wohl irgendwo ab "function RunStudio($macro)" der Fehler. Die Datei ClientExecStudio.exe liegt im gleichen Verzeichnis wie die php-Datei.
Ich bin Anfänger was php betrifft und mir ist unverständlich, wie das Script die ClientExecStudio.exe aufruft und die Parameter übergibt.
Jetzt hab ich mal testweise das Script von Shen 1:1 übernommen (natürlich mit den Daten meiner Studio): funktioniert auch nicht. Aus irgend einem Grund werden die Befehle RunStudio, etc. nicht ausgeführt. Wo liegt mein Fehler? Müssen die ClientExecStudio.exe und ClientExecStudio.ini in einem bestimmten Verzeichnis liegen?
Raspberry PI 4 mit RaspberryMatic, 4 LAN-Gateways, zwei HmIP-HAP und 248 Geräte
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)
CUxD mit 357 Kanälen auf 64 Geräten
Zusatzsoftware: XML-API, CUxD-Highcharts, NEO-Server, Programmedrucken, CUxD, E-Mail, Philips Hue, Messenger, CCU-Historian, JB-HP-Devices, HomeKit HomeMatic
Anbindungen: Wolf eBus; NodeMCU-Ultraschall-Füllstandsmessung mit Temperatureinfluß; Fußbodenheizung mit Rücklauftemperaturbegrenzer (RTL)
Re: Eigenes WebInterface für Studio unter PHP
He - ist ja en halbes PHP Forum hier ))
schon auf die neue Vers upedatet?
schon auf die neue Vers upedatet?