roborock.rules – Wischtag

roborock.rules – Wischtag

  1. ### Variable um den jeweiligen Reinigungsdurchgang zu tracken
  2. var Number cleanCycle
  3.  
  4.  
  5. ### Startet den Wischtag und beginnt mit den ersten beiden Räumen
  6. rule "ROBOROCK - CleaningDay Start"
  7.  
  8. when
  9. Item pt_Roborock01_EG_cleaningDay changed to ON
  10. then
  11.  
  12. logInfo("ROBOROCK - Start CleaningDay","Checking if all components are ready");
  13.  
  14. if(pt_Roborock01_EG_statusMop.state == ON){
  15.  
  16. logInfo("ROBOROCK - Start CleaningDay", "Start initial Room Cleaning for Cleaning Day");
  17. Roborock01_EG_executeCMD.sendCommand("app_segment_clean[20,21]");
  18.  
  19. cleanCycle = 1;
  20. sendBroadcastNotification("Schwanko legt los und startet mit dem Wischtag.");
  21. Sonos02_TTS.sendCommand('<speak>Schwanko legt los und startet mit dem Wischtag.</speak>');
  22.  
  23. }else{
  24.  
  25. logInfo("ROBOROCK - Start CleaningDay", "Mop is not mounted.")
  26. pt_Roborock01_EG_cleaningDay.postUpdate(OFF);
  27.  
  28. sendBroadcastNotification("Schwanko kann ohne Wischtuch keine Böden wischen. Bitte Halterung und Wischtuch anbringen.");
  29. Sonos02_TTS.sendCommand('<speak>Schwanko kann ohne Wischtuch keine Böden wischen. Bitte Halterung und Wischtuch anbringen.</speak>');
  30.  
  31. }
  32.  
  33. end
  34.  
  35.  
  36. ### Nachdem die ersten beiden Räume erfolgreich gewischt wurden, fährt der Roborock zu dem definierten Punkt und wartet auf unseren Einsatz.
  37. rule "ROBOROCK - CleaningDay First Pause"
  38.  
  39. when
  40. Item Roborock01_EG_statusId changed to 6
  41. then
  42.  
  43. if(pt_Roborock01_EG_cleaningDay.state == ON && cleanCycle == 1){
  44. logInfo("ROBOROCK - CleaningDay First Pause", "First Cleaning Cycle successfully finished.");
  45. Roborock01_EG_executeCMD.sendCommand("app_goto_target[28200,28550]");
  46. cleanCycle = 2;
  47. }
  48. end
  49.  
  50.  
  51. ### Nachdem die Wischplatte wieder montiert wurde, werden die nächsten 3 Räume gereinigt.
  52. rule "ROBOROCK - CleaningDay Second Run"
  53.  
  54. when
  55. Item pt_Roborock01_EG_statusMop changed to ON
  56. then
  57.  
  58. if(pt_Roborock01_EG_cleaningDay.state == ON && cleanCycle == 2){
  59. logInfo("ROBOROCK - CleaningDay Second Run", "Mop mounted. Starting with the second Cleaning Cycle");
  60. Roborock01_EG_executeCMD.sendCommand("app_segment_clean[19,18,17]");
  61. cleanCycle = 3;
  62. }
  63.  
  64. end
  65.  
  66.  
  67. ### Nachdem die nächsten drei Räume erfolgreich gewischt wurden, fährt der Roborock zu dem definierten Punkt und wartet auf unseren Einsatz.
  68. rule "ROBOROCK - CleaningDay Second Pause"
  69.  
  70. when
  71. Item Roborock01_EG_statusId changed to 6
  72. then
  73. if(pt_Roborock01_EG_cleaningDay.state == ON && cleanCycle == 3){
  74. logInfo("ROBOROCK - CleaningDay Second Pause", "Second Cleaning Cycle successfully finished.");
  75. Roborock01_EG_executeCMD.sendCommand("app_goto_target[28200,28550]");
  76. cleanCycle = 4;
  77. }
  78. end
  79.  
  80.  
  81. ### Nachdem die Wischplatte wieder montiert wurde, werden die letzten 2 Räume gereinigt.
  82. rule "ROBOROCK - CleaningDay Third Run"
  83.  
  84. when
  85. Item pt_Roborock01_EG_statusMop changed to ON
  86. then
  87.  
  88. if(pt_Roborock01_EG_cleaningDay.state == ON && cleanCycle == 4){
  89. logInfo("ROBOROCK - CleaningDay Third Run", "Mop mounted. Starting with the third Cleaning Cycle");
  90. Roborock01_EG_executeCMD.sendCommand("app_segment_clean[22,16]");
  91. cleanCycle = 5;
  92. }
  93.  
  94. end
  95.  
  96.  
  97. ### Wurde die Reinigung erfolgreich beendet, werden entsprechende Notifications ausgegeben und der Roborock begibt sich zur Ladestation.
  98. rule "ROBOROCK - CleaningDay End"
  99.  
  100. when
  101. Item Roborock01_EG_statusId changed to 6
  102. then
  103. if(pt_Roborock01_EG_cleaningDay.state == ON && cleanCycle == 5){
  104. logInfo("ROBOROCK - CleaningDay End", "Successfully finished Cleaning Day.");
  105. Sonos02_TTS.sendCommand('<speak><amazon:emotion name="excited" intensity="high">Super, Wischtag abgeschlossen! Schwanko freut sich jetzt sicher über eine kleine Pause.</amazon:emotion></speak>');
  106. cleanCycle = 0;
  107. pt_Roborock01_EG_cleaningDay.postUpdate(OFF);
  108. }
  109. end
  110.  
  111.  
  112. ### Falls wir die aktuelle Reinigung über den Switch abbrechen möchten
  113. rule "ROBOROCK - CleaningDay Abort"
  114.  
  115. when
  116. Item pt_Roborock01_EG_cleaningDay changed to OFF
  117. then
  118. Roborock01_EG_executeCMD.sendCommand("dock");
  119. cleanCycle = 0;
  120. end

You may also like...