roborock.rules – Wischtag
roborock.rules – Wischtag
by
Kevin
·
Published 8. August 2021
· Updated 18. August 2021
### Variable um den jeweiligen Reinigungsdurchgang zu tracken var Number cleanCycle ### Startet den Wischtag und beginnt mit den ersten beiden Räumen rule "ROBOROCK - CleaningDay Start" when Item pt_Roborock01_EG_cleaningDay changed to ON then logInfo ( "ROBOROCK - Start CleaningDay" , "Checking if all components are ready" ); if ( pt_Roborock01_EG_statusMop . state == ON ){ logInfo ( "ROBOROCK - Start CleaningDay" , "Start initial Room Cleaning for Cleaning Day" ); Roborock01_EG_executeCMD . sendCommand ( "app_segment_clean[20,21]" ); cleanCycle = 1 ; sendBroadcastNotification ( "Schwanko legt los und startet mit dem Wischtag." ); Sonos02_TTS . sendCommand ( '<speak>Schwanko legt los und startet mit dem Wischtag.</speak>' ); } else { logInfo ( "ROBOROCK - Start CleaningDay" , "Mop is not mounted." ) pt_Roborock01_EG_cleaningDay . postUpdate ( OFF ); sendBroadcastNotification ( "Schwanko kann ohne Wischtuch keine Böden wischen. Bitte Halterung und Wischtuch anbringen." ); Sonos02_TTS . sendCommand ( '<speak>Schwanko kann ohne Wischtuch keine Böden wischen. Bitte Halterung und Wischtuch anbringen.</speak>' ); } end ### Nachdem die ersten beiden Räume erfolgreich gewischt wurden, fährt der Roborock zu dem definierten Punkt und wartet auf unseren Einsatz. rule "ROBOROCK - CleaningDay First Pause" when Item Roborock01_EG_statusId changed to 6 then if ( pt_Roborock01_EG_cleaningDay . state == ON && cleanCycle == 1 ){ logInfo ( "ROBOROCK - CleaningDay First Pause" , "First Cleaning Cycle successfully finished." ); Roborock01_EG_executeCMD . sendCommand ( "app_goto_target[28200,28550]" ); cleanCycle = 2 ; } end ### Nachdem die Wischplatte wieder montiert wurde, werden die nächsten 3 Räume gereinigt. rule "ROBOROCK - CleaningDay Second Run" when Item pt_Roborock01_EG_statusMop changed to ON then if ( pt_Roborock01_EG_cleaningDay . state == ON && cleanCycle == 2 ){ logInfo ( "ROBOROCK - CleaningDay Second Run" , "Mop mounted. Starting with the second Cleaning Cycle" ); Roborock01_EG_executeCMD . sendCommand ( "app_segment_clean[19,18,17]" ); cleanCycle = 3 ; } end ### Nachdem die nächsten drei Räume erfolgreich gewischt wurden, fährt der Roborock zu dem definierten Punkt und wartet auf unseren Einsatz. rule "ROBOROCK - CleaningDay Second Pause" when Item Roborock01_EG_statusId changed to 6 then if ( pt_Roborock01_EG_cleaningDay . state == ON && cleanCycle == 3 ){ logInfo ( "ROBOROCK - CleaningDay Second Pause" , "Second Cleaning Cycle successfully finished." ); Roborock01_EG_executeCMD . sendCommand ( "app_goto_target[28200,28550]" ); cleanCycle = 4 ; } end ### Nachdem die Wischplatte wieder montiert wurde, werden die letzten 2 Räume gereinigt. rule "ROBOROCK - CleaningDay Third Run" when Item pt_Roborock01_EG_statusMop changed to ON then if ( pt_Roborock01_EG_cleaningDay . state == ON && cleanCycle == 4 ){ logInfo ( "ROBOROCK - CleaningDay Third Run" , "Mop mounted. Starting with the third Cleaning Cycle" ); Roborock01_EG_executeCMD . sendCommand ( "app_segment_clean[22,16]" ); cleanCycle = 5 ; } end ### Wurde die Reinigung erfolgreich beendet, werden entsprechende Notifications ausgegeben und der Roborock begibt sich zur Ladestation. rule "ROBOROCK - CleaningDay End" when Item Roborock01_EG_statusId changed to 6 then if ( pt_Roborock01_EG_cleaningDay . state == ON && cleanCycle == 5 ){ logInfo ( "ROBOROCK - CleaningDay End" , "Successfully finished Cleaning Day." ); 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>' ); cleanCycle = 0 ; pt_Roborock01_EG_cleaningDay . postUpdate ( OFF ); } end ### Falls wir die aktuelle Reinigung über den Switch abbrechen möchten rule "ROBOROCK - CleaningDay Abort" when Item pt_Roborock01_EG_cleaningDay changed to OFF then Roborock01_EG_executeCMD . sendCommand ( "dock" ); cleanCycle = 0 ; end
You may also like...