Hallo zusammen,
komme berufsbedingt mangels Zeit und wegen Umzugs meiner IP Symcon Installation auf einen neuen Rechner inkl. Umstieg auf v2 nur schleppend voran.
Die Geschwindigkeit ist IMO absolut ok. Wofür ich noch keine Lösung gefunden habe (was wahrscheinlich daran liegt, dass ich kein Programmierer bin) ist, dass ich nach dem Anklicken eines Befehls (Rolladen hoch, Licht an usw.) auf derselben Seite bleibe. Derzeit wird dann immer die Startseite neu geladen.
Meine Herangehensweise war die, den im ersten Post verlinkten Link zur Demo-Anwendung aufzurufen, lokal zu speichern und dann den Code der index.html Stück für Stück zu ändern, u.a. durch Einfügen des php Codes und Umbenennen in index.php.
Für alle, die schon selbst mal basteln wollen: Das SDK habe ich jetzt erst gefunden, ist etwas versteckt: iPhone and iPod Touch development - WebApp.Net bzw.:
Site iPhone and iPod Touch development - WebApp.Net
Doc WebApp.Net documentation: Installation
Demo http://webapp.net.free.fr/Demo/
Forums WebApp.Net Support Forum
Die index.php zu den Screenshots aus meinem Post sieht (unaufgeräumt und mit teilweise noch funktionslosen Sektionen) so aus:
<html><head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<title>WebApp.Net Demo</title>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="Stylesheet" href="Index-Dateien/Render.css">
<link rel="Stylesheet" href="Index-Dateien/Global.css">
<script type="text/javascript" src="Index-Dateien/Logic.js"></script>
<script type="text/javascript">
(new Image()).src = "Design/Img/bg-img.png";
function tabs(s) {
WA.Header(!s, "tab1");
return false;
}
/*
var a = document.createElement("div");
a.innerHTML = "<s" + "cript text='text/javascript'> alert('ok') </scr" + "ipt>";
eval(a.getElementsByTagName("script")[0].firstChild.nodeValue);
*/
</script>
</head>
<body -dir="rtl">
<?php
$Regen = GetValueBoolean("Regenmelder.Status");
if ($Regen)
{
$Regen = "Es regnet";
}
else
{
$Regen="Es regnet nicht";
}
$temp_wco = round(GetValueFloat("wco__temp_actual_state_FHT-response"), 2);
$temp_az = round(GetValueFloat("az__temp_actual_state_FHT_response"), 2);
$temp_kueche = round(GetValueFloat("kue__temo_actual_state_FHT-response"), 2);
$anaus = GetValueBoolean("Licht_Terrasse_unten_Skript");
$downtime_AZ = 15;
if(isset($action))
{
if($action=="Licht_Terrasse_unten_Skript")
{
SetValueBoolean("Licht_Terrasse_unten_Skript", !GetValueBoolean("Licht_Terrasse_unten_Skript"));
//Toggelt ein/aus, indem das Gegenteil des aktuellen Status gesetzt wird.
// <meta name="viewport" content="width=320" />
// <link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="ipod.css" type="text/css" />
}
if($action=="Rolladen_Bad_Zu")
{
FS20_SwitchMode(28088, false);
}
if($action=="Rolladen_Bad_Auf")
{
FS20_SwitchMode(28088, true);
}
if($action=="Rolladen_Bad_Lueften")
{
FS20_SwitchMode(28088, false);
sleep($downtime_AZ);
FS20_SwitchDuration(35105, true, 3);
}
if($action=="Rolladen_WZ_Zu")
{
FS20_SwitchMode(35105, false);
}
if($action=="Rolladen_WZ_Auf")
{
FS20_SwitchMode(35105, true);
}
if($action=="Rolladen_WZ_Lueften")
{
FS20_SwitchMode(35105, false);
sleep(35);
FS20_SwitchDuration(35105, true, 8);
}
if($action=="Rolladen_AZ_Zu")
{
FS20_SwitchMode(17393, false);
}
if($action=="Rolladen_AZ_Auf")
{
FS20_SwitchMode(17393, true);
}
if($action=="Rolladen_AZ_Lueften")
{
FS20_SwitchMode(17393, false);
sleep($downtime_AZ);
FS20_SwitchDuration(17393, true, 3);
}
if($action=="Rolladen_Kueche_Zu")
{
FS20_SwitchMode(63244, false);
}
if($action=="Rolladen_Kueche_Auf")
{
FS20_SwitchMode(63244, true);
}
if($action=="Rolladen_Kueche_Lueften")
{
FS20_SwitchMode(63244, false);
sleep(25);
FS20_SwitchDuration(63244, true, 4);
}
if($action=="Rolladen_Alle_Auf")
{
FS20_SwitchMode(42687, false);
}
if($action=="Rolladen_Alle_Zu")
{
FS20_SwitchMode(42687, true);
}
if($action=="Rolladen_Alle_Lueften")
{
FS20_SwitchMode(42687, false);
sleep(35);
FS20_SwitchDuration(63244, true, 4);
// Kche
FS20_SwitchDuration(17393, true, 3);
// Arbeitszimmer
FS20_SwitchDuration(35105, true, 8);
// Wohnzimmer
FS20_SwitchDuration(28088, true, 3);
// Bad
}
if ($anaus =="TRUE")
{
$status="AN";
}
else
{
$status="AUS";
}
}
?>
<div style="min-height: 743px;" class="landscape" id="WebApp">
<div id="iHeader">
<div style="opacity: 1; display: block;">
<a style="display: none;" href="#" id="waBackButton">Home</a>
<a style="display: none;" href="#" id="waHomeButton">Home</a>
<a href="#" onclick="return WA.HideBar()"><span style="display: block;" id="waHeadTitle"MeinHaus</span></a>
</div>
</div>
<div id="iGroup">
<div style="display: block;" class="iLayer" id="waHome" title="Home">
<div class="iMenu">
<h3>Haussteuerung</h3>
<ul class="iArrow">
<li class=""><a href="#_List_Rooms"><span>Kche, Bad...</span>Rume</a></li>
<li class=""><a href="#_List_Actions"><span>Lften, Heizen...</span>Aktionen</a></li>
<li class=""><a href="#_Lists3"><span>Wetter, Temperaturen...</span>Info</a></li>
<li class=""><a href="#_Media"><span>Video, Audio...</span> Media</a></li>
</ul>
</div>
</div>
<div style="display: none;" class="iLayer" id="waList_Rooms" title="Rume">
<a style="display: none;" href="#" rel="action" class="iButton iBClassic" onclick="return tabs(1)"><img src="Index-Dateien/more.png" alt="More"></a>
<div class="iLoader" id="list-loader" style="margin: 50px 0pt;">
Loading please wait ...
</div>
<div style="display: none;" class="iBlock iItem" id="list2"></div>
<div class="iMenu">
<ul class="iArrow">
<li class=""><a href="#_Living">Wohnzimmer</a></li>
<li class=""><a href="#_Kitchen">Kche</a></li>
<li class=""><a href="#_Bathroom">Bad</a></li>
<li class=""><a href="#_Office">Arbeitszimmer</a></li>
<li class=""><a href="#_Waterloo">WC oben</a></li>
<li class=""><a href="#_Terraces">Terrassen</a></li>
</ul>
</div>
</div>
<div style="display: none;" class="iLayer" id="waList_Actions" title="Aktionen">
<a style="display: none;" href="#" rel="action" class="iButton iBClassic" onclick="return tabs(1)"><img src="Index-Dateien/more.png" alt="More"></a>
<div class="iLoader" id="list-loader" style="margin: 50px 0pt;">
Loading please wait ...
</div>
<div style="display: none;" class="iBlock iItem" id="list2"></div>
<div class="iMenu">
<ul class="iArrow">
<li class=""><a href="#_Lueften">Lften</a></li>
<li class=""><a href="#_Shaders">Rollden</a></li>
<li class=""><a href="#_Heating">Heizen</a></li>
<li class=""><a href="#_Light">Licht</a></li>
</ul>
<ul>
</div>
</div>
<div style="display: none;" class="iLayer" id="waLiving" title="Wohnzimmer">
<div style="min-height: 699px;" class="iList">
<ul class="iArrow">
<li class=""><a href="index.php?action=Rolladen_WZ_Zu"><img src="images/down.gif"><em>Rolladen schlieen</em></a></li>
<li class=""><a href="index.php?action=Rolladen_WZ_Auf" ><img src="images/up.gif"><em>Rolladen ffnen</em></a></li>
<li class=""><a href="index.php?action=Rolladen_WZ_Lueften" ><img src="images/vent.gif"><em>Rolladen: Lften</em></a></li>
<li class=""><a href="index.php?action=Licht_Terrasse_unten_Skript" >
<?php $status_Licht_Terrasse_unten = GetValueBoolean("Licht_Terrasse_unten_Skript");
if ($status_Licht_Terrasse_unten =="TRUE")
{
$linie="<img src=\"images/light_on.gif\" > <em>Terrasse unten ein</em></a></li>";
}
else
{
$linie="<img src=\"images/light_off.gif\" > <em>Terrasse unten aus</em></a></li>";
}
?>
<?php print $linie ?>
<div class="iBlock">
<p>Raumtemperatur: <?php print $temp_wco ?><sup>o</sup>C <br>
Am Thermostat eingestellt: <?php print round(GetValueFloat("wz_temp_target_state_IPS-request"), 2)?><sup>o</sup>C
Ventilposition: <?php print GetValueFloat("wz__position_actual_state_FHT_response")?>%</p>
<p>Auentemperatur: <?php print round(GetValueFloat("KS300_Temperatur"), 4) ?><sup>o</sup>C <BR>
<?php print $Regen ?></p>
</div>
</ul>
</div>
</div>
<div style="display: none;" class="iLayer" id="waOffice" title="Arbeitszimmer">
<div style="min-height: 699px;" class="iList">
<ul class="iArrow">
<li class=""><a href="index.php?action=Rolladen_AZ_Zu"><img src="images/down.gif"><em>Rolladen schlieen</em></a></li>
<li class=""><a href="index.php?action=Rolladen_AZ_Auf" ><img src="images/up.gif"><em>Rolladen ffnen</em></a></li>
<li class=""><a href="index.php?action=Rolladen_AZ_Lueften" ><img src="images/vent.gif"><em>Rolladen: Lften</em></a></li>
<div class="iBlock">
<p>Raumtemperatur: <?php print $temp_az ?><sup>o</sup>C <br>
Am Thermostat eingestellt: <?php print round(GetValueFloat("az_temp_target_state_IPS-request"), 2)?><sup>o</sup>C
Ventilposition: <?php print GetValueFloat("az__position_actual_state_FHT_response")?>%</p>
<p>Auentemperatur: <?php print round(GetValueFloat("KS300_Temperatur"), 4) ?><sup>o</sup>C <BR>
<?php print $Regen ?></p>
</div>
</ul>
</div>
</div>
<div style="display: none;" class="iLayer" id="waKitchen" title="Kche">
<div style="min-height: 699px;" class="iList">
<ul class="iArrow">
<li class=""><a href="index.php?action=Rolladen_Kueche_Zu"><img src="images/down.gif"><em>Rolladen schlieen</em></a></li>
<li class=""><a href="index.php?action=Rolladen_Kueche_Auf" ><img src="images/up.gif"><em>Rolladen ffnen</em></a></li>
<li class=""><a href="index.php?action=Rolladen_Kueche_Lueften" ><img src="images/vent.gif"><em>Rolladen: Lften</em></a></li>
<div class="iBlock">
<p>Raumtemperatur: <?php print $temp_kueche ?><sup>o</sup>C <br>
Am Thermostat eingestellt: <?php print round(GetValueFloat("az_temp_target_state_IPS-request"), 2)?><sup>o</sup>C
Ventilposition: <?php print GetValueFloat("az__position_actual_state_FHT_response")?>%</p>
<p>Auentemperatur: <?php print round(GetValueFloat("KS300_Temperatur"), 4) ?><sup>o</sup>C <BR>
<?php print $Regen ?></p>
</div>
</ul>
</div>
</div>
<div style="display: none;" class="iLayer" id="waImage2" title="List with image2">
<div style="min-height: 699px;" class="iList">
<ul class="iArrow">
<li class=""><a href="index.php?action=Rolladen_AZ_Zu"><img src="images/down.gif" height="29"><em>Rolladen zu</em></a></li>
<li class=""><a href="index.php?action=Rolladen_AZ_Auf"><img src="Index-Dateien/image.png" height="29"><em>Rolladen Auf</em></a></li>
<li class=""><a href="#_Article" target="_blank"><img src="Index-Dateien/image.png" height="29"><em>List item three</em></a></li>
</ul>
</div>
</div>
<div class="iLayer" id="waArticle" title="Async Viewer Demo">
<div class="iBlock">
<h1>Nothing to Read</h1>
<p>No article have been loaded yet. Check asynchronous list to load an article.</p>
</div>
</div>
<div class="iLayer" id="waArticle2" title="Async Viewer Demo">
<div class="iBlock">
<h1>Nothing to Read</h1>
<p>No article have been loaded yet. Check asynchronous list to load an article.</p>
</div>
</div>
<div class="iLayer" id="waMedia" title="Media Sample">
<div class="iList">
<ul class="iArrow">
<li class=""><a href="http://webapp-net.com/Demo/Media/sample.mp3" rev="media"><img src="Index-Dateien/image.png" height="29">MP3 audio file</a></li>
<li class=""><a href="http://webapp-net.com/Demo/Media/sample_iPod.m4v" rev="media"><img src="Index-Dateien/image.png" height="29">iPod sample video</a></li>
</ul>
</div>
</div>
<div id="wa__radio" class="iLayer"></div>
</div>
</div>
</div>
</body>
</html>
Möglicherweise kommt Ihr ja damit schon etwas weiter.
cu
DocMarten