Daily Deal --- Smarter 1,8 l iKettle (Wasserkocker)

Hallo

kannst du mal dein Script posten bzw. wie hast du den Client Socket angelegt ??

Ich habe auch das Ikettle (1 Version)

:slight_smile:

Hallo docrossi,

ich habe den gar nicht per Script angelegt, sondern einfach per click, click … click. :slight_smile:



<?

 switch ($_IPS['VALUE'])
{
//Turned on
  case "sys status 0x5":
      SetValue (43644 /*[EG\Küche\iKettle\Zustand]*/ , true);
//      SetValueInteger (56607 /*[EG\Küche\iKettle\Status]*/ , 0);
  break;

//Turned off
  case "sys status 0x0":
      SetValue (43644 /*[EG\Küche\iKettle\Zustand]*/ , false);
      SetValueInteger (56607 /*[EG\Küche\iKettle\Status]*/ , 0);
  break;

////65C selected
  case "sys status 0x65":
      SetValueInteger (25503 /*[EG\Küche\iKettle\gewählte Temperatur]*/ , 0);
  break;

//80C selected
  case "sys status 0x80":
      SetValueInteger (25503 /*[EG\Küche\iKettle\gewählte Temperatur]*/ , 1);
  break;

//95C selected
  case "sys status 0x95":
      SetValueInteger (25503 /*[EG\Küche\iKettle\gewählte Temperatur]*/ , 2);
  break;

//100C selected
  case "sys status 0x100":
      SetValueInteger (25503 /*[EG\Küche\iKettle\gewählte Temperatur]*/ , 3);
  break;

//Warm selected
  case "sys status 0x11":
      SetValue (11888 /*[EG\Küche\iKettle\Warmhalten]*/  , true);
  break;

//Warm has ended
  case "sys status 0x10":
      SetValue (11888 /*[EG\Küche\iKettle\Warmhalten]*/  , false);
  break;

//Warm length is 5 minutes
  case "sys status 0x8005":
      SetValueInteger (53968 /*[EG\Küche\iKettle\Warmhaltezeitraum]*/  , 0);
  break;

////Warm length is 10 minutes
  case "sys status 0x8010":
      SetValueInteger (53968 /*[EG\Küche\iKettle\Warmhaltezeitraum]*/  , 1);
  break;

//Warm length is 20 minutes
  case "sys status 0x8020":
      SetValueInteger (53968 /*[EG\Küche\iKettle\Warmhaltezeitraum]*/  , 2);
  break;

//Kettle was removed (whilst on)
  case "sys status 0x1":
      SetValueInteger (56607 /*[EG\Küche\iKettle\Status]*/  , 2);
      WFC_PushNotification(48959 /*[WebFront]*/ , 'MELDUNG', 'Der Wasserkocher wurde von der Basis genommen!', '', 1);
  break;

//Problem (boiled dry?)
  case "sys status 0x2":
      SetValueInteger (56607 /*[EG\Küche\iKettle\Status]*/  , 3);
      WFC_PushNotification(48959 /*[WebFront]*/ , 'MELDUNG', 'Der Wasserkocher ist leer!', '', 1);
  break;

//Reached temperature
  case "sys status 0x3":
      SetValueInteger (56607 /*[EG\Küche\iKettle\Status]*/  , 1);
      WFC_PushNotification(48959 /*[WebFront]*/ , 'MELDUNG', 'Die Soll-Temperatur im Wasserkocher ist erreicht!', '', 1);
  break;
}

SetValueString (35706 /*[EG\Küche\iKettle\VarStatus]*/ , $_IPS['VALUE']);

/*
//Status messages
sys status 0x100	100C selected
sys status 0x95	95C selected
sys status 0x80	80C selected
sys status 0x100	65C selected
sys status 0x11	Warm selected
sys status 0x10	Warm has ended
sys status 0x5	Turned on
sys status 0x0	Turned off
sys status 0x8005	Warm length is 5 minutes
sys status 0x8010	Warm length is 10 minutes
sys status 0x8020	Warm length is 20 minutes
sys status 0x3	Reached temperature
sys status 0x2	Problem (boiled dry?)
sys status 0x1	Kettle was removed (whilst on)

//Sending an action
set sys output 0x80	Select 100C button
set sys output 0x2	Select 95C button
set sys output 0x4000	Select 80C button
set sys output 0x200	Select 65C button
set sys output 0x8	Select Warm button
set sys output 0x8005	Warm option is 5 mins
set sys output 0x8010	Warm option is 10 mins
set sys output 0x8020	Warm option is 20 mins
set sys output 0x4	Select On button
set sys output 0x0	Turn off
*/

?>

Leider funktioniert das nicht. Und leider weiß ich auch nicht, was genau Du meinst mit: „Da wir nicht wissen wie der ClientSocket konfiguriert ist …“. Ich habe ihn unterhalb von „I/O Instanzen“ per Click angelegt (Screenshot im Post zuvor). Gibt es auch eine andere Möglichkeit?

Ich meinte damit, du hast nicht gesagt wie du ihn eingestellt hast (Port).
Jetzt ist klar dass du auf den gleichen Port senden willst, von dem du Daten empfängst.
Also einfach RegVar_SendText(Instanzid,„sys xxxxx“.chr(13)); senden und gut ist.
Michael

Verstehe. :wink:
Leider nein … ein:

//iKettle an
RegVar_SendText(17332  /*[EG\Küche\iKettle\Register Variable iKettle]*/, "set sys output 0x4".chr(13));

macht einfach gar nichts. :frowning:

EDIT: MEIN FEHLER!! Alles läuft super!
Ich habe es ein paar mal ausprobiert und es ging nicht und plötzlich lief es.

DANKE!!!

Witzig, das war der, der auf der InfoSec im Livehack war - 30 sekunden bis WLAN offen war. Viel Spaß :slight_smile:

Ich verstehe nicht ganz was Du damit meinst. Ein Einwand? Ein Hinweis? Zur Info?