Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- rule "load map neubau"
- when Item VT_loadMapNeubau received command ON
- then
- VT_Pause.postUpdate("OFF")
- VT_isMapNeubau.sendCommand("OFF")
- VT_isMapAltbau.sendCommand("OFF")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/custom_command","{\"command\": \"load_map\",\"name\": \"map_neubau\"}")
- end
- rule "load map altbau"
- when Item VT_loadMapAltbau received command ON
- then
- VT_Pause.postUpdate("OFF")
- VT_isMapNeubau.sendCommand("OFF")
- VT_isMapAltbau.sendCommand("OFF")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/custom_command","{\"command\": \"load_map\",\"name\": \"map_altbau\"}")
- end
- rule "check mqtt command status response"
- when Item VT_CommandStatus received update
- then
- logInfo("valetudo.rules", "MQTT command status response erhalten")
- //example {"command":"load_map","message":"ok","error":null,"updated":1593074179125}
- var command = transform("JSONPATH", "$.command", VT_CommandStatus.state.toString)
- var message = transform("JSONPATH", "$.message", VT_CommandStatus.state.toString)
- if (VT_loadMapAltbau.state.toString == "ON" && command == "load_map" && message == "ok") {
- logInfo("valetudo.rules", "Altbau erfolgreich geladen!")
- VT_loadMapAltbau.sendCommand("OFF")
- VT_isMapNeubau.sendCommand("OFF")
- VT_isMapAltbau.sendCommand("ON")
- }
- if (VT_loadMapNeubau.state.toString == "ON" && command == "load_map" && message == "ok") {
- logInfo("valetudo.rules", "Neubau erfolgreich geladen!")
- VT_loadMapNeubau.sendCommand("OFF")
- VT_isMapAltbau.sendCommand("OFF")
- VT_isMapNeubau.sendCommand("ON")
- }
- end
- rule "pause"
- when Item VT_Pause received command ON
- then
- logInfo("valetudo.rules", "Pause!")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/command","pause")
- end
- rule "resume"
- when Item VT_Pause received command OFF
- then
- logInfo("valetudo.rules", "Resume!")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/command","start")
- end
- rule "to dock"
- when Item VT_ZumDock received command ON
- then
- logInfo("valetudo.rules", "Zum Dock!")
- VT_Pause.postUpdate("OFF")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/command","return_to_base")
- end
- rule "stop"
- when Item VT_Stop received command ON
- then
- logInfo("valetudo.rules", "Zum Dock!")
- VT_Pause.postUpdate("OFF")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/command","stop")
- end
- rule "saugen"
- when Item VT_Saugen received command ON
- then
- if (VT_isMapAltbau.state.toString == "ON")
- {
- if (gAltbau.state.toString == "ON")
- {
- logInfo("valetudo.rules", "Altbau ausgewählte Räume saugen:")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- var json = "{\"command\": \"segmented_cleanup\",\"segment_ids\": ["
- gAltbau.members.forEach [ room |
- if (room.state.toString == "ON")
- {
- json += "\"" + room.label + "\","
- logInfo("valetudo.rules", "..." + room.label)
- }
- ]
- json = json.substring(0, json.length -1)
- json += "],\"repeats\": 1}"
- mqttActions.publishMQTT("valetudo/rockrobo/custom_command",json)
- }
- if (gAltbau.state.toString == "OFF")
- {
- logInfo("valetudo.rules", "Altbau alle Räume saugen!")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/command","start")
- }
- }
- if (VT_isMapNeubau.state.toString == "ON")
- {
- if (gNeubau.state.toString == "ON")
- {
- logInfo("valetudo.rules", "Neubau ausgewählte Räume saugen:")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- var json = "{\"command\": \"segmented_cleanup\",\"segment_ids\": ["
- gNeubau.members.forEach [ room |
- if (room.state.toString == "ON")
- {
- json += "\"" + room.label + "\","
- logInfo("valetudo.rules", "..." + room.label)
- }
- ]
- json = json.substring(0, json.length -1)
- json += "],\"repeats\": 1}"
- mqttActions.publishMQTT("valetudo/rockrobo/custom_command",json)
- }
- if (gNeubau.state.toString == "OFF")
- {
- logInfo("valetudo.rules", "Neubau alle Räume saugen!")
- val mqttActions = getActions("mqtt","mqtt:broker:mosquitto")
- mqttActions.publishMQTT("valetudo/rockrobo/command","start")
- }
- }
- end
Add Comment
Please, Sign In to add comment