Schalten im Webfont

Hallo,

kämpfe als PHP DAU bei nachfolgendem Skript:


<?

if($IPS_SENDER == "WebFront")
{
    SetValue($IPS_VARIABLE, $IPS_VALUE);
}

switch($IPS_VALUE)
{
    case 0:     //shut down
      IPS_ExecuteEx(IPS_GetKernelDir()."/automatic/192168115110.bat", "",true,true, 0); 
    break;

    case 1:    //WOL
      $mac = "000F20701B98"; //MAC Lehrer Rechner
      $ip = "255.255.255.255"; // Broadcast adresse

      wake($ip,$mac,15);//Port

        function wake($ip, $mac, $port)
         {
           $nic = fsockopen("udp://" . $ip, $port);
        if($nic)
          {
          $packet = "";
        for($i = 0; $i < 6; $i++)
          $packet .= chr(0xFF);wake($ip,$mac,15);//Port
        for($j = 0; $j < 16; $j++)
      {
        for($k = 0; $k < 6; $k++)
      {
        $str = substr($mac, $k * 2, 2);
        $dec = hexdec($str);
        $packet .= chr($dec);
      }
      }
      $ret = fwrite($nic, $packet);
      fclose($nic);
      if($ret)
        return true;
      }
       return false;
      }
      break;
}
?>

bekomme die Fehlermeldung undefined function wake()

Beide Funktionen WOL und shut down in zwei getrennten Skripten funktionieren ohne Fehler - ist nur nicht besonders schön im neunen WF.:confused:

Andreas

Hallo Andreas,

ich werd aus deinem Script nicht schlau. Warum rufst Du die Funktion in der Funktion noch mal auf.

Ich hab dir das mal ein bischen leserlicher gemacht.

if($IPS_SENDER == "WebFront")
{
    SetValue($IPS_VARIABLE, $IPS_VALUE);
}

switch($IPS_VALUE)
{
    case 0:     //shut down
       IPS_ExecuteEx(IPS_GetKernelDir()."/automatic/192168115110.bat", "",true,true, 0);
    break;

    case 1:    //WOL
      $mac = "000F20701B98"; //MAC Lehrer Rechner
      $ip = "255.255.255.255"; // Broadcast adresse
      wake($ip,$mac,15);//Port
    break;
}

function wake($ip, $mac, $port)
{
   $nic = fsockopen("udp://" . $ip, $port);
   if($nic)
   {
      $packet = "";
      for($i = 0; $i < 6; $i++)
      $packet .= chr(0xFF);
      for($j = 0; $j < 16; $j++)
      {
          for($k = 0; $k < 6; $k++)
          {
              $str = substr($mac, $k * 2, 2);
              $dec = hexdec($str);
              $packet .= chr($dec);
          }
      }
      $ret = fwrite($nic, $packet);
      fclose($nic);
      if($ret) return true;
   }
   return false;
}

Hallo Rainer,

danke ich hatte auf dem Rechner nur einen normalen Editor drauf und der rückt leider nicht ein. Habe deshalb glatt übersehen was dir sofort aufgefallen ist.

Nochmals danke.

Andreas

Kurze Frage dazu…
Kann ich den Schalter im Webfront umbenennen damit in ihm nicht „An“ und „Aus“ steht, sondern rauf und runter oder vor und zurück oder hell und dunkel?

Ich möchte meine Rolläden schalten mit 3 Knöpfen und zwar Rauf/Beschattung/Runter

Geht das?

Gruß
Michael

Klar, im Profil einfach ändern. Bei default Profilen mit ~ vorweg geht es nicht, nur bei eigenen.

Welches Profile muss ich dann wählen um 3 Knöpfe zu bekommen?
Mit Boolean bekomme ich ja nur 2 Zustände angezeigt.
Integer? Und wie bekomme ich es dann als Schalter angezeigt, den ich auch betätigen kann?

Danke im Voraus !!!

Michael

Variablenprofile: IP-Symcon :: Automatisierungssoftware