php och web

I detta forum hör diskussioner gällande teknik i största allmänhet och hemautomation i synnerhet hemma.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

php och web

Inlägg av mwd123 »

Hej

Har haft problem med att lyckas få till själva php scriptet som jag funnit på denna sidan, så att man kan ha t.ex en bild som visar om man tänt eller släckt lamporna via On eller Off knapparna på sidan.

Skulle gärna vilja att vid ett tryck på "On" så ändras en status till on och en bild visar det, och även när man trycker "Off" så skadet ändra till släckt osv.

Hur löser man detta smidigast? då det styrs via "explode" osv så får jag inget grepp om det :(

Vore MYCKET tacksam ifall det finns någon vänlig själ därute som har lite tid/lust att ev kanske försöka beskriva hur man ska göra.

Tack på förhand

Mvh Magnus

bifogar indexphp.rar
indexphp.rar
(1.05 KiB) Nerladdad 170 gånger
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: php och web

Inlägg av Plutonium »

Kan du posta ragmenten som berör ditt problem från php filen i forumet?
http://essunga.org
Moderator - Temperatur.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: php och web

Inlägg av mwd123 »

Ok vi börjar i slutet på index.php.

Jag kan ingenting om PHP-kod (eller annan kod heller) :) som ni förmodligen redan förstått ;P

Det jag alltså vill är att när jag trycker på "On" i webläsarn så vill jag att en lampa som är släckt, ska tända sig

case "on":
$command=$binare.' '.$tellstick_path.' '.$_POST["reciever_protocol"].' '.$_POST["reciever_id"].' 1';
$thestuff=system($command);
break;

Min tanke var då att lägga in nån typ av echo cmd efter commandot som körs. jag har skapat en mapp som heter NEXA och där i har jag alla enhets id. t.ex A 1 A 2 osv. och så har jag även en mapp som heter STATUS och lika där alla enhets ID.

case "on":
$command=$binare.' '.$tellstick_path.' '.$_POST["reciever_protocol"].' '.$_POST["reciever_id"].' 1';
$command=/bin/echo 1 > "/var/www/html/rrdtool/NEXA/reciever_id"; (är det $nånting ? vet inte hur det funkar.)
$command=/bin/echo "<img src=\"pon.gif\" alt=\"På\">" > /var/www/html/rrdtool/STATUS/reciever_id;
$thestuff=system($command);
break;

sen så gör man lika i case "off" fast ändrar till poff.gif och alt= av osv.

Alternativt skapa en echo.sh som har de 2 raderna i sig så behöver man bara köra ett kommando. hur löser jag dock detta med att den ska ta rätt ID ? om jag trycker On på t.ex A 5, hur får jag den att skicka echo kommandot till just A 5 ?

Tanken med nexa mappen och reciever ID är ju att jag kan använda mig av andra script mm för att se om en lampa är tänd eller inte eftersom det ska stå 0 eller 1 i filen beroende på om den är släckt eller tänd.

status mappen hade jag ju tänkt var så att man skulle kunna hämta på eller av från. så när man kör On så skickas poweron.gif i status, och när man kör off så skickas poweroff.gif in i statusen för rätt ID.

Tanken var då på nåt vis. att högre upp i koden:

print $grunka." : </td><td nowrap=\"NOWRAP\">\n";
print "<input type=\"submit\" name=\"action\" value=\"on\" class=\"searchButton\">\n";
print "<input type=\"submit\" name=\"action\" value=\"off\" class=\"searchButton\">\n";

Att man ev här ska kunna köra så att den "tar" status från /var/www/html/rrdtool/NEXA/reciever_id

print $grunka." : </td><td nowrap=\"NOWRAP\">\n";
print $status/reciever_id nånting (då ska alltså detta skrivas hit: "<img src=\"pon.gif\" alt=\"På\">" (om statusen är Av i filen så blir det poweroff.gif och Av som alt
print "<input type=\"submit\" name=\"action\" value=\"on\" class=\"searchButton\">\n";
print "<input type=\"submit\" name=\"action\" value=\"off\" class=\"searchButton\">\n";

Har som sagt väldigt dålig koll på php, så den som är duktig på php fattar nog direkt hur man ska göra.

Tack för ditt intresse plutonium! jag ser fram emot din hemkomst!! :)

Mvh Magnus
Användarvisningsbild
Plutonium
Moderator
Inlägg: 1246
Blev medlem: 04 jan 2008, 02:34
Ort: Nossebro
Kontakt:

Re: php och web

Inlägg av Plutonium »

Hej Magnus :wink:

Vi skulle kunna banta ner koden och göra den lite enklare ser jag.

Jag hade nog gjort på följande:

Kod: Markera allt

<?php

echo "<a href=\"$_SERVER['PHP_SELF']?nexa=hallen&status=on\">Hallen På</a><br>";
echo "<a href=\"$_SERVER['PHP_SELF']?nexa=hallen&status=off\">Hallen Av</a><br>";

echo "<a href=\"$_SERVER['PHP_SELF']?nexa=sovrummet&status=on\">Sovrummet På</a><br>";
echo "<a href=\"$_SERVER['PHP_SELF']?nexa=sovrummet&status=off\">Sovrummet Av</a><br>";



 if (isset($_GET['nexa']) && $_GET['status']){

       if ($_GET['nexa'] == "hallen" && $_GET['status'] == "on") {
              system("rfcmd /dev/ttyUSB0 NEXA A 1 1 &");
              echo "Lampan i Hallen är nu tänd";
       }
       if ($_GET['nexa'] == "hallen" && $_GET['status'] == "off") {
              system("rfcmd /dev/ttyUSB0 NEXA A 1 0 &");
              echo "Lampan i Hallen är nu släckt";

       if ($_GET['nexa'] == "sovrummet" && $_GET['status'] == "on") {
              system("rfcmd /dev/ttyUSB0 NEXA A 2 1 &");
              echo "Lampan i Hallen är nu tänd";
       }
       if ($_GET['nexa'] == "sovrummet" && $_GET['status'] == "off") {
              system("rfcmd /dev/ttyUSB0 NEXA A 2 0 &");
              echo "Lampan i Hallen är nu släckt";
 }
?>
Nu har jag ingen som helst aning om koden ovan fungerar. Men med denna kod så skall du få upp fyra st länkar, om du klickar på någon av dem så ska det med stor osäkerhet hända något. I värsta fall så fungerar inte sidan alls, men då kan du med denna kod snutt felsöka mycket enklare.

Kod: Markera allt

error_reporting(E_ALL);
som du lägger längst upp på sidan, alltså under <?php raden.

Detta utgör själva grunden för att styra lampor, sen finns det en uppsjö hur man skriver en kodsnutt en del längre och en del kortare, men jag tror jag har skrivit så enkelt som möjligt för att förstå konceptet.
http://essunga.org
Moderator - Temperatur.nu
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: php och web

Inlägg av mwd123 »

Fungerade inte :)

Dock så gillar jag den gamla koden, då det är väldigt enkelt att lägga till en ny nexapryl, bara att lägga till t.ex sovrum NEXA A 6 i pryttels.txt så ligger den med på webben.

Vill som sagt att ha en liten funktion som tänder en lampa när man trycker på on. verkar vara svårt, ingen som kan? ;)

Mvh Magnus
Now using Tellstick NET + NEXA & PLUGWISE
http://homeauto.does-it.net powered by gadgets from m.nu
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: php och web

Inlägg av Niklas »

Det är inga problem
Jag har för mig att du har mailat mig. Glömde jag svara? :-)

Jag har en sida jag kan komma åt överallt där jag ser om mina prylar är på eller av.
Jag kör detta mot en databas. Jag har lite script som körs automatiskt.
Bl.a. så tänds min belysning beroende på hur ljust det är ute och mitt element i sovrummet styrs av servern.
Då kan jag se via hemsidan om prylen är aktiverad eller inte. Jag kan även välja att manuellt sätta på eller stänga av grejerna. Att lägga till en enhet är enkelt. Det är bara att regga den i databasen.

Du har ingen mysql-server uppe och snurrar på burken?
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: php och web

Inlägg av mwd123 »

Tjena!

Jo jag kör mysql.

Du glömde nog svara på mitt mail :wink:
mwd123
Tar hemautomation på allvar
Inlägg: 89
Blev medlem: 02 dec 2008, 22:24
Ort: Skogen

Re: php och web

Inlägg av mwd123 »

Problemet fixat! stort tack till sm4wdq!
Hoffan
Hemautomation - det är mer än en hobby
Inlägg: 352
Blev medlem: 13 maj 2007, 22:46
Ort: Mölndal

Re: php och web

Inlägg av Hoffan »

Å hur blev lösningen då??

*Nyfiken*
Användarvisningsbild
BjörnH
Tar hemautomation på allvar
Inlägg: 125
Blev medlem: 22 apr 2007, 13:53
Ort: Sandsjön, Svenljunga. (Flyttat från Göteborg, Guldheden)
Kontakt:

Re: php och web

Inlägg av BjörnH »

En nyfiken till. Vill slippa uppfinna hjulet igen. Speciellt när min PHP-kunskap är liten.
Min egen Väderservice hos Vishet.se
Mitt program för att styra Tellstick: Switch
Skriv svar